1

特定のクエリから返された行数を取得する必要がありますが、このエラーが発生し続けました

C:\xampp\htdocs\sample\includes\CheckUsername.php の 18 行目で非オブジェクトのプロパティを取得しようとしています

これが私のコードです:

 <?php
        class Db_CheckUsername{
            protected $_conn;
            protected $_username;
            protected $_errors = array();

            public function __construct($username,$conn){
                $this->_username = $username;
                $this->_conn = $conn;
            }

            public function isUsernameAvailable(){
                $sql = "SELECT ";
                $sql .= "FROM accounts ";
                $sql .= "WHERE username = {$this->_username}";

                $result = $this->_conn->query($sql);
                $numRows = $result->num_rows;

                if($numRows == 0){
                    return true;
                }else{
                    return false;
                }
            }
        }
    ?>

これを解決するにはどうすればよいですか?

4

3 に答える 3

4
SELECT FROM accounts

おそらく無効です。おそらくSELECT * FROMまたはが必要SELECT 1 FROMです。

于 2012-06-23T17:27:51.040 に答える
4

基本的なトラブルシューティング スキルを習得する必要があると思われるため、解決策は提供しません。

  • データを検査します。どのようなデータが$result含まれていますか? var_dumpで確認してください。
  • あなたの質問は正しいですか?クエリを印刷して確認します。正確なクエリをコピーして SQL プロンプトに貼り付け、機能しているかどうかを確認します。
于 2012-06-23T17:30:55.860 に答える
2

クエリのエラーをチェックしていません。エラーが発生$resultした場合は false になりますが、これはまさにそのケースです。クエリに構文エラーがあります。

于 2012-06-23T17:28:45.477 に答える