【问题标题】:Select where mysqli php not returning result [duplicate]选择mysqli php不返​​回结果的位置[重复]
【发布时间】:2017-02-03 10:15:45
【问题描述】:

这是我的代码

<?php
// create connection
$conn = new mysqli($server_name, $user_name, $pwd, $db_name);
// check connection 
if ($conn->connect_error) 
{
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected ";
$select_query = 'SELECT * FROM ftrpm WHERE (my_id = "" || my_id IS NULL)';
$selected = mysqli_query($conn, $select_query);
var_dump($selected);
mysqli_close($conn);
?>

我没有得到任何结果。

Connected 
object(mysqli_result)#2 (5) 
{ 
  ["current_field"]=> int(0) 
  ["field_count"]=> int(15) 
  ["lengths"]=> NULL 
  ["num_rows"]=> int(1) 
  ["type"]=> int(0) 
}

相同的查询在我的 phpmyadmin 上运行良好。怎么了?

【问题讨论】:

  • 首先获取您的$selected 以获取结果(您的$selected 中有一条记录["num_rows"]=&gt; int(1)

标签: php select mysqli where


【解决方案1】:

从您的var_dump() 中,您看到实际上返回了行,您可以通过["num_rows"]=&gt; int(1) 判断。

您只需要先获取它,使用mysqli_fetch_assoc($selected);。

$selected = mysqli_query($conn, $select_query);
$row = mysqli_fetch_assoc($selected);
var_dump($row);
// Can be accessed with indexes the same as the colum-name, like 
// $row['id']

如果你有多行,你可以用

循环它们
while ($row = mysqli_fetch_assoc($selected)) {
    // Use $row here
}

【讨论】:

  • 谢谢。这有帮助
  • @RubenKannan 如果此答案解决了您的问题,并且您认为这是给出的最佳答案,请接受它已解决。见accepting answers。 :-)
  • 我正在测试解决方案。它有效,我将其标记为已回答。再次感谢
【解决方案2】:

mysqli_query() 返回一个对象

如果要获取行,则必须使用 mysqli_fetch_array() 或 mysqli_fetch_assoc()

while($row = mysqli_fetch_assoc($selected){
    //here you can access your data one by one row
}

【讨论】:

    【解决方案3】:
    // create connection
        $conn = new mysqli($server_name, $user_name, $pwd, $db_name);
        // check connection 
        if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
        }
        echo "Connected ";
        $select_query = 'SELECT * FROM ftrpm WHERE (my_id = "" || my_id IS NULL)';
        $selected = mysqli_query($conn, $select_query);
        while($row = mysqli_fetch_assoc($selected))
        {
            var_dump($row); 
        } 
        mysqli_close($conn);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-11
      • 2016-09-10
      • 2016-10-26
      • 2020-02-13
      • 1970-01-01
      • 2015-06-18
      • 2014-11-07
      • 2013-03-29
      相关资源
      最近更新 更多