繁体   English   中英

选择后MySQL值返回Null

[英]MySQL Value Returns Null After 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 dump:

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"

任何建议都很好。

调用fetch_assoc() ,您会忘记括号:

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

应该:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM