我不确定标题是否正确。希望我能以简洁的方式解释一下。我正在尝试从数据库中全选:

if (! empty ( $fname ) && ! empty ( $lname )) {
        $query5 = "select * from " . $db_prefix . "customer_det where (fname = '" . $fname . "' and lname = '" . $lname . "')";
            $result5 = $mysqli->query ( $query5 ) or die ( mysql_error () );
    } else {
        $query5 = "select * from " . $db_prefix . "customer_det where phone = '" . $phone . "'";

        $result5 = $mysqli->query ( $query5 ) or die ( mysql_error () );

    }


然后,我的下一条语句基本上说如果$ result5 === NULL,则插入内容。问题是我是var_dump($ result5),看起来它正在打印一个数组。

object(mysqli_result)#4 (5) { ["current_field"]=> int(0) ["field_count"]=> int(34) ["lengths"]=> NULL ["num_rows"]=> int(0) ["type"]=> int(0) }


基本上,我想说的是如何编写IF $ result5 =不存在的语句。我在这里寻找count或num_rows函数吗?

最佳答案

mysqli_query()返回mysqli_result object

您要检查其属性之一,而不是null,例如:

if ($result5->num_rows == 0)


注意:我也鼓励您阅读有关SQL Injection的信息。

10-07 22:02