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

MySQLi のプリペアド ステートメントで「非オブジェクトのメンバー関数execute() の呼び出し」エラーがスローされるのはなぜですか?

Barbara Streisand
リリース: 2024-12-09 18:07:15
オリジナル
170 人が閲覧しました

Why Does My MySQLi Prepared Statement Throw a

mysqli のプリペアド ステートメントについて

mysqli でプリペアド ステートメントを使用する場合、適切な機能を確保するために特定のガイドラインに従うことが重要です。

エラーの解決

提供されたコードでは、エラー:

Fatal error: Call to a member function execute() on a non-object in ...
ログイン後にコピー

は、準備されたステートメントが実行前に変数に正しくバインドされていないことを示しています。これを解決するには:

// Bind parameters to variables
$name = 'one';
$age = 1;
$stmt->bind_param('si', $name, $age);
ログイン後にコピー

プリペアド ステートメントに mysqli を使用する

Mysqli は、PHP でプリペアド ステートメントを使用する場合に適しています。これは、確立され、十分に文書化されたデータベース インターフェイスです。

プリペアド ステートメントを使用した完全な例

<?php

// Establish database connection
$mysqli = new mysqli('localhost', 'root', 'root', 'test');

// Prepare statement
$stmt = $mysqli->prepare('INSERT INTO users (name, age) VALUES (?, ?)');

// Bind variables
$name = 'one';
$age = 2;
$stmt->bind_param('si', $name, $age);

// Insert data with prepared statement
$stmt->execute();

// Check for errors
if ($mysqli->error) {
    echo 'Error: ' . $mysqli->error;
} else {
    // Data inserted successfully
}

// Prepare select statement
$stmt = $mysqli->prepare('SELECT * FROM users WHERE name = ?');

// Bind variable
$name = 'one';
$stmt->bind_param('s', $name);

// Execute select query
$stmt->execute();

// Fetch results
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    echo $row['id'] . ' - ' . $row['name'] . ' - ' . $row['age'] . '<br>';
}

// Close statement and connection
$stmt->close();
$mysqli->close();

?>
ログイン後にコピー

この包括的な例では、接続の確立から、プリペアド ステートメントを使用したデータの挿入と選択までのプロセス全体を示します。エラー処理を含みます。

以上がMySQLi のプリペアド ステートメントで「非オブジェクトのメンバー関数execute() の呼び出し」エラーがスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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