0

私は、php と mysql/mysqli に関してはまったくの初心者です。私はこのコードを持っていて、17 行目の /home/byeroman/public_html/register.php に 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();

どうしたの?みんなありがとう

4

1 に答える 1

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) { ... 
于 2013-01-30T18:32:46.567 に答える