0

以下のコードを機能させようとしていますが、機能しておらず、以下のエラーが表示されます

Fatal error: Call to a member function bind_param() on a non-object in 

準備されたステートメントで配列をフェッチする方法はありますか?

    if (move_uploaded_file($_FILES['file_to_upload']['tmp_name'], $final_uploads_location)) 
            {
                    $stmt = $mysqli->prepare("select * from test  where `username` = ? and `age` = ? ");
                    $stmt->bind_param('ss', $username, $age);
                    $stmt->store_result();
                    $stmt->execute();

                    if($stmt->num_rows < 1)
                {
                    $insert = $mysqli->prepare("insert into `test`(`username`, `age`, ) values(?,?)");
                    $insert->bind_param('ss', $username, $age);
                    $insert->execute();

                }
                else
                {
                    $check = mysqli_fetch_array($stmt);
                     global $identity;
                    }
            }
4

3 に答える 3

0

準備( mysqli::prepare )後に false を返すクエリを実行します。これは、クエリにエラーがあることを意味します: 未定義のフィールド、存在しないテーブルなど。

于 2013-05-20T01:11:12.490 に答える
0

データベースで正確なクエリを実行してみてください。データベースエラーが発生していると思います。

$mysqli->prepare が「False」値を返している可能性があります。これにより、存在しないブールデータ型で「bind_param」関数を呼び出そうとしています。

于 2013-05-20T01:16:44.533 に答える
0

$stmt->bind_param("s", $username);

一度に 1 つだけ試してください...各ステートメントを次々にバインドします。そして、クエリを実行します。

ここを見て ここ

于 2013-05-20T01:19:47.343 に答える