ホームページ >バックエンド開発 >PHPチュートリアル >MySQLi の「bind_param()」関数が「非オブジェクト上のメンバー関数の呼び出し」エラーをスローするのはなぜですか?
問題:
MySQLi が「呼び出しをスローしています」オブジェクト内の列を更新しようとすると、「非オブジェクトのメンバー関数bind_param()」エラーが発生する
原因:
bind_param() メソッドは、有効な mysqli_stmt オブジェクトに対してのみ呼び出すことができます。このエラーは、mysqli_stmt オブジェクトが適切に作成されていないために発生します。
解決策:
このエラーを解決するには:
PDO の例:
<?php try { // Create PDO connection $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); // Prepare update statement $stmt = $pdo->prepare("UPDATE questionnaire SET $key = ? WHERE id = ?"); // Bind parameters $stmt->bindParam(1, $value, PDO::PARAM_STR); // Set the value parameter $stmt->bindParam(2, $rowid, PDO::PARAM_INT); // Set the rowID parameter // Execute update $stmt->execute(); } catch (PDOException $e) { trigger_error($e->getMessage(), E_USER_ERROR); }
以上がMySQLi の「bind_param()」関数が「非オブジェクト上のメンバー関数の呼び出し」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。