這讓我非常瘋狂,我已經重寫過幾次,但仍然沒有結束。我的插入功能工作得很好。我不知道我忽略了什麼,任何你可能會建議可能會有所幫助的東西都會非常感激。PHP MySQL PDO更新不起作用
function update($table, $data, $idName='id')
{
if(empty($data) || !is_array($data))
return false;
$columns = $values = array();
foreach($data as $key => $val)
$columns[] = "$key=:$key";
$columns = makeCSL($columns, false);
try {
$qStr = "UPDATE $table SET $columns WHERE $idName=:id";
echo $qStr;
$query = $this->dbHandle->prepare($qStr);
foreach($data as $key => $val)
$query->bindParam("':$key'", $val, PDO::PARAM_STR);
$query->execute();
} catch(PDOException $e) {
$this->errCode = $e->getCode();
$this->errInfo = $e->errorInfo[2];
}
}
什麼是'makeCSL'功能做的工作? –
這裏缺少的是對問題的簡要描述。 '不工作'只是沒有傳達任何東西。你有錯誤信息嗎?你有沒有檢查你的服務器錯誤日誌? – 2014-02-21 03:34:56
@scrowler推測它代表逗號分隔列表,所以它只是做一些像'implode(',',$ columns)'。 – Barmar