0
PHP 5.4.7在xampp安裝中,MySQL 5.5.27 - 我一整天都在努力爭取各種UPDATE語句的工作,都無濟於事。已經通讀並嘗試了http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers的示例,並放棄了一次UPDATE(找到了一個替代解決方案),但我堅持不知道下面的這一個錯在哪兒。順便說一句我的所有其他PDO使用fetchall查詢做工精細...PDO準備bindParam不起作用
function updateThisMemberInterests($PDOdbObject, $memberId, $interests)
{
try
{
$intId = 0;
$upInt = $connectionObject->prepare("UPDATE `member_interest` SET (`interest_id`) VALUES (:intId)");
$upInt->bindParam(':intId', $intId, PDO::PARAM_INT);
foreach($interests as $intId)
{
$upInt->execute();
}
$affected_rows = $upInt->rowCount();
return $affected_rows;
}
catch (PDOException $e)
{
echo "There was a problem connecting to this database.";
$e->getMessage();
}
}
我的數據庫設置函數指定: PDO :: ATTR_EMULATE_PREPARES =>假, PDO :: ATTR_ERRMODE => PDO :: ERRMODE_EXCEPTION
但我沒有收到任何東西,除了我在Catch中回覆的消息。
必須錯誤地解釋教程的說明 - 有人可以告訴我它是什麼嗎?
我敢肯定,'rowCount時()'只適用於最新的'的execute()',所以調用它後你的循環不會給你糾正信息。 –
無論如何,你的問題是你的函數接受'$ PDOdbObject',但你在函數體中調用'$ connectionObject'。打開'error_reporting'和'display_errors',你會在非object_上看到_call成員函數prepare()。 –
關於rowCount() - 注意,謝謝。大約$ PDOdbObject,這是它在我的數據層文件中的名稱。在我多次嘗試弄清楚發生了什麼後,我將整個函數移到了調用文件中 - 所以我的錯誤是,我將該函數與調用var名稱一起發佈。實際上,它們都是數據層文件中的$ PDOdbObject。所以這不是...... – swissphp