首頁 > 後端開發 > php教程 > 為什麼我的 mysqli 準備語句失敗,如何正確綁定參數?

為什麼我的 mysqli 準備語句失敗,如何正確綁定參數?

Barbara Streisand
發布: 2024-12-12 20:04:16
原創
604 人瀏覽過

Why Do My mysqli Prepared Statements Fail, and How Can I Properly Bind Parameters?

使用mysqli 準備語句

準備語句入門

準備語句入門

準備語句入門

$name = 'one';
$age = 1;

$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)");

// Bind parameters (typehint: string, integer)
$stmt->bind_param('si', $name, $age);

// Now you can execute
$stmt->execute();
登入後複製
您正在嘗試準備好的語句,但您的程式碼遇到錯誤。這個問題源自於缺少一個步驟:將參數綁定到準備好的語句。

綁定參數

準備好的語句要求您在執行之前綁定參數。此程序將外部變數與 SQL 查詢中的佔位符 (?) 相關聯。

準備語句需要 mysqli 嗎?

是的,需要 mysqli用來準備好的陳述。

$mysqli = new mysqli("localhost", "root", "root", "test");
if ($mysqli->connect_errno) {
    echo "Connection failed: " . $mysqli->connect_error;
}
登入後複製

完成範例

$stmt = $mysqli->prepare("INSERT INTO users (name, age) VALUES (?,?)");

// Bind parameters (typehint: string, integer)
$stmt->bind_param('si', $name, $age);

// Insert row
$stmt->execute();
登入後複製
連接:

$stmt = $mysqli->prepare("SELECT * FROM users WHERE name = ?");
$stmt->bind_param('s', $name);

$stmt->execute();

if ($stmt->errno) {
    echo "Error: " . $stmt->error;
} else {
    $result = $stmt->get_result();
}

// Process result
登入後複製
插入:選擇錯誤處理:

以上是為什麼我的 mysqli 準備語句失敗,如何正確綁定參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板