1

以下の準備済みステートメントには、5 つの変数があります。

INSERT INTO folder (folder_name, folder_parent_id, folder_user_id, folder_order, hk_created) VALUES (?,?,?,?,?);

電話をかけると、この警告が表示されます$_STATEMENT->bind_result( $_RESULT );

Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement

明らかにこれは true (5 つの変数、1 つの結果変数) ですが、INSERT ステートメントを実行すると、true (成功) または false (失敗) のみが返されます。不足しているものがあった場合に備えて、5 つの変数を指定しbind_result()てみましたが、それでも同じメッセージが表示されました。

挿入クエリは正常に実行されます。警告を@抑制し、これをPHPの癖またはバグとしてチョークする必要がありますか(違いがあるかどうか疑問に思うことがあります)、それとも何か不足していますか?

bind_result() に5つの変数を与えようとしたことを反映するように編集

4

1 に答える 1

2

クエリbind_resultでは使用できません。INSERT結果が出ません。

$_STATEMENT->execute()TRUEまたはを返しFALSEます。$_STATEMENT->affected_rows挿入された行数を確認する場合に使用します。

于 2012-12-06T19:41:46.783 に答える