MySQLi 只显示一个结果
MySQLi only showing one result
我有一个简单的问题,我的 MySQLi 函数只显示一行/结果 var_dump:
$sql = $db->query('SELECT * FROM '.$db_prefix.'_posts');
$row = $sql->fetch_array();
var_dump($row);
就是这样。 phpMyAdmin 中的查询显示 3 个结果。这一个只有 1。它也不适用于 fetch_assoc() 或 fetch_array()。
编辑:另外,我想将 table 的键列为 "fetch_array()"。
尝试 while 循环:
while($row = $sql->fetch_row())
{
var_dump($row);
}
因为 fetch_row()
、fetch_array()
、fetch_assoc()
每次被调用时都会 return 一行,直到 'out of rows'。
您将不得不迭代您的结果。
你总是可以使用这样的东西:
$sql = 'SELECT * FROM '.$db_prefix.'_posts';
if ($result = $mysqli->query($sql)) {
while($obj = $result->fetch_object()){
var_dump($obj);
}
}
然而这会输出大量数据(因为var_dump)。
对于干净的输出,您可以使用
$sql = 'SELECT * FROM '.$db_prefix.'_posts';
if ($result = $mysqli->query($sql)) {
while($obj = $result->fetch_object()){
echo $obj->*sql_columnname_here*; // Repeat for all columns
}
}
fetch_row() 一次只包含 1 行
试试这个:
$sql = $db->query('SELECT * FROM '.$db_prefix.'_posts');
$rows= $sql->fetch_row();
while ($row = $rows->fetch_row()) {
echo $row[0]." ".$row[1];
}
我有一个简单的问题,我的 MySQLi 函数只显示一行/结果 var_dump:
$sql = $db->query('SELECT * FROM '.$db_prefix.'_posts');
$row = $sql->fetch_array();
var_dump($row);
就是这样。 phpMyAdmin 中的查询显示 3 个结果。这一个只有 1。它也不适用于 fetch_assoc() 或 fetch_array()。
编辑:另外,我想将 table 的键列为 "fetch_array()"。
尝试 while 循环:
while($row = $sql->fetch_row())
{
var_dump($row);
}
因为 fetch_row()
、fetch_array()
、fetch_assoc()
每次被调用时都会 return 一行,直到 'out of rows'。
您将不得不迭代您的结果。 你总是可以使用这样的东西:
$sql = 'SELECT * FROM '.$db_prefix.'_posts';
if ($result = $mysqli->query($sql)) {
while($obj = $result->fetch_object()){
var_dump($obj);
}
}
然而这会输出大量数据(因为var_dump)。 对于干净的输出,您可以使用
$sql = 'SELECT * FROM '.$db_prefix.'_posts';
if ($result = $mysqli->query($sql)) {
while($obj = $result->fetch_object()){
echo $obj->*sql_columnname_here*; // Repeat for all columns
}
}
fetch_row() 一次只包含 1 行
试试这个:
$sql = $db->query('SELECT * FROM '.$db_prefix.'_posts');
$rows= $sql->fetch_row();
while ($row = $rows->fetch_row()) {
echo $row[0]." ".$row[1];
}