ホームページ >データベース >mysql チュートリアル >mysqli のプリペアド ステートメントで「非オブジェクトのメンバー関数execute() の呼び出し」が発生するのはなぜですか?
Mysqli プリペアド ステートメントについて
プリペアド ステートメントは、SQL インジェクションの脆弱性を防ぐための重要な実践です。ただし、mysqli プリペアド ステートメントを使用するときに発生する一般的なエラーは、「非オブジェクトのメンバー関数execute() を呼び出します。」というエラーを受け取ることです。
この問題を解決し、mysqli プリペアド ステートメントを効果的に使用するには、次のようにします。次の内容を理解する必要があります:
完全なプロセスを示す例は次のとおりです:
<?php // Connect to MySQL $mysqli = new mysqli("localhost", "root", "root", "test"); // Prepare statement $stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?, ?)"); // Bind parameters $name = 'one'; $age = 1; $stmt->bind_param('si', $name, $age); // Execute statement $stmt->execute(); // Insert another row with different values $name = 'two'; $age = 2; $stmt->bind_param('si', $name, $age); $stmt->execute(); ?>
準備されたステートメントに mysqli を使用するこれは、PHP で SQL インジェクションから保護するための推奨される方法であるため、強くお勧めします。上記の例では、接続、挿入、選択だけでなく、エラー処理も提供しています。
以上がmysqli のプリペアド ステートメントで「非オブジェクトのメンバー関数execute() の呼び出し」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。