ホームページ > バックエンド開発 > PHPチュートリアル > MySQLi の更新関数で「メンバー関数の binding_param() の呼び出し」エラーがスローされるのはなぜですか?

MySQLi の更新関数で「メンバー関数の binding_param() の呼び出し」エラーがスローされるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-08 00:51:11
オリジナル
971 人が閲覧しました

Why Does My MySQLi Update Function Throw a

mysqli_update 関数を使用してテーブルを更新しようとすると、Mysqli 更新関数で「メンバー関数の binding_param() の呼び出し」エラーがスローされる

問題

、次のエラーが発生します:「 non-object."

分析

このエラーは、準備されたステートメントの実行に使用される $stmt オブジェクトが正しく作成されなかったことを示します。これはクエリ自体の問題が原因である可能性があります。

解決策

この問題を解決するには:

1.クエリ構文の確認

クエリ構文が正しいことを確認します。クエリには、テーブル名、SET 句、更新するパラメータ、および WHERE 句を含める必要があります。タイプミスや要素の欠落がないか確認してください。

2.エラーの確認

ステートメントを準備した後、mysqli オブジェクトの errno プロパティと error プロパティを使用して、ステートメントの準備中にエラーがあったかどうかを確認します。 errno が 0 でない場合は、mysqli_error() を使用してエラー メッセージを変換し、trigger_error() を使用して PHP エラーを発生させるか、例外をスローします。

3.ステートメントの実行の確認

mysqli_execute() を使用して、準備されたステートメントが適切に実行されていることを確認します。ステートメントの実行後に mysqli_errno() および mysqli_error() を使用して実行中のエラーをチェックします。

ステートメントの準備中および実行中にエラーをチェックする方法の例を次に示します。

if (!($stmt = $mysqli->prepare($query))) {
    trigger_error($mysqli->error . "[$query]");
}

if (!$stmt->execute()) {
    trigger_error($stmt->error . "[BIND PARAMS: $stmt->errno, EXECUTE: $mysqli->errno]");
}
ログイン後にコピー

Byこれらの手順に従うと、クエリが構文的に正しいことを確認し、ステートメントの準備中にエラーを特定し、ステートメントの実行を確認できます。これは、mysqli を使用してデータを更新するときに発生する「メンバー関数 binding_param() の呼び出し」エラーを防ぐのに役立ちます。

以上がMySQLi の更新関数で「メンバー関数の binding_param() の呼び出し」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート