语法错误,意外的T_OBJECT_OPERATOR

时间:2013-01-30 17:17:13

标签: syntax mysqli

对于php和mysql / mysqli,我总是新手。我有这个代码,我得到一个PHP Parse错误:语法错误,第17行/home/byeroman/public_html/register.php中的意外T_OBJECT_OPERATOR。这是代码:

$stmt = mysqli->prepare("SELECT COUNT(*) FROM users WHERE username=? LIMIT 1" or die($db->error()));
        $stmt->bind_param("s", $username);
    $stmt->execute();
    $stmt->store_result();
        $count=$stmt->num_rows;
        $stmt->close();
        if($count>0) exit();

怎么了?谢谢你们

1 个答案:

答案 0 :(得分:1)

这是愚蠢的语法问题,你只是忘了关闭括号 为了减少这些事情并使代码可读,请将语句分成不同的行:

$sql  = "SELECT COUNT(*) FROM users WHERE username=? LIMIT 1";
$stmt = $mysqli->prepare($sql) or trigger_error($mysqli->error()));

你还需要记住你正在使用的变量($ mysqli或$ db)
另外,num_rows()使用的功能不对,您需要定期fetch

顺便提一下,考虑使用一些数据库抽象库。它可以让你的生活更轻松,代码更短,就像这样(它取代了你的所有代码,请注意):

$num = $db->getOne("SELECT COUNT(*) FROM users WHERE username=?",$username);
if($num) { ...