if ($result = $db->query("SELECT * FROM tab WHERE ID = $id")) {
while($row = $result->fetch_assoc() ){
echo "ID:". $row['ID'];
echo "Product:" .$row['Product'];
... }
$result->close();
} else {
echo "could not retrieve data from db"; }
我只得到一个结果,但它应该更多。 我如何获得所有结果?
btw我不能使用fetch_all。
答案 0 :(得分:2)
您在查询中使用了ID,这意味着您要求提供特定项目。为了选择所有你必须删除这个条件。
您的代码如下:
if ($result = $db->query("SELECT * FROM tab")) {
while($row = $result->fetch_assoc() ){
echo "ID:". $row['ID'];
echo "Product:" .$row['Product'];
}
$result->close();
} else {
echo "There is no data in the database";
}
答案 1 :(得分:1)
替换
$result = $db->query("SELECT * FROM tab WHERE ID = $id"
带
$result = $db->query("SELECT * FROM tab WHERE ID = $id LIMIT 1"
答案 2 :(得分:0)
您必须从选项卡中选择id和product,并添加where语句。
您的代码如下:
if ($result = $db->query("SELECT ID, Product, user FROM tab WHERE user='".$username."' ")) { //$username = john;
while($row = $result->fetch_assoc() ){
echo "ID:". $row['ID'];
echo "Product:" .$row['Product'];
}
} else {
echo "There is no data in the database";
} result->close();
让我希望你的等值是约翰这个名字可能是什么。因此,您将从数据库中获取列出john一词的所有结果行。
把$ username ='john';在if语句之前。
答案 3 :(得分:-2)
从MYSQL结果中获取数据的过程如下:
if ($result) //Check if the return is true
while($row = mysqli_fetch_array($result)) {
// do something with the $row
//like print it
}
}
为了完全确定使用
打印查询echo $your_query
然后通过phpMyAdmin运行该查询,看看你得到了什么结果或错误。