MySQL值在选择后返回Null

时间:2012-11-07 14:05:53

标签: php mysql forms select

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

    }
    while ($row=$result5->fetch_assoc) {
        $uid = $row['id'];
            $visits = $row['visits'];
        }
        var_dump($uid);
        var_dump($visits);
            var_dump($result5);
            var_dump($fname);
            var_dump($lname);

我不确定我在哪里出错了。我在phpMyAdmin SQL查询框中运行这两个查询,然后返回一个行集。然后,当我在PHP中运行它,并且var_dump变量时,$ uid返回NULL以及$ visits。这是var转储:

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

任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

当您致电fetch_assoc()时,您忘记了括号:

while ($row=$result5->fetch_assoc) {

应该是:

while ($row=$result5->fetch_assoc()) {

因此,永远不会输入循环,并且未设置$uid$visits(因此它们仍为null)。