[英]PHP PDO, Binding not working
這很新。 我的連接工作正常,可以從數據庫等中插入/選擇/刪除,但是一旦我開始嘗試使用綁定使其安全時,它什么也沒做。 整個下午,我一直以為這只是語法,我仍然很習慣,但是我嘗試了所有內容並經歷了無數教程。 一切正常,直到我開始綁定。 當我運行下面的代碼時,什么都沒有發生。 運行它並檢查我的數據庫后,沒有插入。
這是我現在的代碼...我已將其剝離為最基本的內容。 這不行嗎? 還有什么可能是錯的? 我開始認為我的服務器出了點問題。
<?php
//connection is working before this
$query = $db->prepare("INSERT INTO Players (Name) VALUES (:name)");
$query->bindParam(':name', 'John Smith');
$query->execute();
?>
以防萬一,這是我的連接例程。
try {
$db = new PDO('mysql:host=localhost;dbname=xxx;charset=utf8',
'xx', 'xxx', array(
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
echo "Connected";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
連接沒有問題。
對於bindValue(),第一個參數需要是該值的標識符,在您的情況下,它將是':name'。 第二個參數是要綁定的值,它很可能是傳遞給您的方法的變量,因此它將是$ name,請看這里
$dbHandler = self::getHandler();
// Prepare the Query:
$stmtHandler= $dbHandler->prepare("INSERT INTO Players (Name) VALUES (:name)");
// Bind the value:
$stmtHandler->bindValue(':name', $name);
// Execute the Query:
$stmtHandler->execute();
php.net可能會做一個更好的工作,解釋它為您HERE
希望對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.