**已解决** 抱歉大家,数据库出现问题导致了这些问题。
我正在尝试从数据库中读取信息。当结果出现行时,我想做点什么。我当前的代码是这样的:
$sql="SELECT state FROM table_name WHERE finished=0 AND start=1";
$result = $conn->query($sql);
var_dump($result);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
我现在遇到的问题是,即使没有finished=0的行,数组仍然给出一些行和结果。 var_dump 的输出将如下所示:
object(mysqli_result)#5 (5) { ["current_field"]=> int(0) ["field_count"]=> int(3) ["lengths"]=> NULL ["num_rows"]=> int(2) ["type"]=> int(0) }
如果我分析正确,这将被视为行并且代码仍然会执行。 有没有办法防止这种情况发生?或者您会以完全不同的方式处理这个问题吗?
非常感谢您的帮助。
最佳答案
您的查询中需要一个 FROM,例如:
$sql="SELECT state FROM tablename WHERE finished=0";
$result = $conn->query($sql);
var_dump($result);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
关于php - 仅当 SQL 搜索给出结果时才读取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42111695/