【问题标题】:mysqli query returns structure instead of data [closed]mysqli查询返回结构而不是数据[关闭]
【发布时间】:2014-11-14 13:38:27
【问题描述】:

当我对我的数据库进行查询时,结果如下:

mysqli_result Object
(
    [current_field] => 0
    [field_count] => 3
    [lengths] => 
    [num_rows] => 3
    [type] => 0
)

这是我正在使用的代码:

$servername = "localhost";
$username = "root";
$password = "";

// Create connection
$conn = new mysqli($servername, $username, $password, 'melona');

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM votacion";

$result = $conn->query($sql);

echo "<pre>";
print_r($result);
echo "</pre>";

die();

我当然不想获取,我想获取表中包含的行,我的代码有什么问题?

【问题讨论】:

  • 一个查询返回一个结果集,然后您可以在何时、何地以及如何取悦它(作为关联数组、对象、数字索引数组......),这就是它的工作原理,并且它一直是如何工作的......另外:不要die,而是关闭连接,完成后释放资源。这里不是真的需要,但这是一个好习惯
  • 谢谢,我也采纳了你的建议。

标签: php mysql select mysqli


【解决方案1】:

好吧,您需要先获取结果,为此,您需要使用-&gt;fetch_assoc()-&gt;fetch_array()

// you need to loop it if you're expecting multiple rows
while($row = $result->fetch_assoc()) {
    echo $row['column_name'];
}

参考:

http://php.net/manual/en/mysqli-result.fetch-array.php

http://php.net/manual/en/mysqli-result.fetch-assoc.php

【讨论】:

  • 太好了,我用了 while($row = $result->fetch_assoc()) $array[] = $row;得到一个好的数组。
  • @Mariano 我很高兴这有帮助
【解决方案2】:

你必须这样做

$row = $result->fetch_assoc();

【讨论】:

    猜你喜欢
    • 2017-05-07
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多