2012-11-30 74 views
0

令人難以置信的是,我有一個確切的腳本,其中有一個不同於「additional」的變量。但是,即使有一個額外的MySQL列,我無法得到它的更新。我甚至嘗試改變其他東西,但它無法與此專欄一起工作。什麼是衝突?Mysql更新命令失敗

<?php 
echo "yup"; 
$lt2 = "yup"; 
$blah = "yup"; 
$username = "yup"; 
$lt1 = "yup"; 
$dbh = new PDO(censored); 
$sql = "UPDATE purchases SET additional = ? WHERE username = ? AND blah = ? AND kusername = ?"; 
$q = $dbh->prepare($sql); 
$params = array($lt1, $lt2, $username, $blah); 
$q->execute($params); 
$doc = new DOMDocument(); 
$r = $doc->createElement("location"); 
$doc->appendChild($r); 
foreach ($q->fetchAll() as $row) { 
    $e = $doc->createElement("location"); 
    $e->setAttribute('name', $row['additional']); 


    $r->appendChild($e); 

} 
print $doc->saveXML(); 

echo "work"; 
?> 

回答

0

嘗試

$sql = "UPDATE purchases SET additional = ? WHERE username = ? AND blah = ? AND kusername = ?"; 
$q = $dbh->prepare($sql); 
$params = array($lt1,$lt2, $username, $blah); 
+0

感謝,但沒有奏效 – user1803649

+0

比任何你沒有連接到數據庫或條件查詢不匹配 –

+0

他們這樣做。連接起作用。我對此100%肯定。第二個建議是我也想過的,所以我複製並粘貼了該名稱,但仍然無效。 – user1803649

0

能否請你告訴我這個表中有 「自動遞增」 ID與否。

如果是,請傳遞您已更新記錄的ID。

$sql = "UPDATE purchases SET additional = '$lt1' WHERE purchase_id = ?"; 

如果沒有,請更改查詢是這樣的:

$sql = "UPDATE purchases SET additional = '$lt1' WHERE username = ? OR blah = ? OR kusername = ?"; 
+0

我沒有使用自動增量。它沒有工作,但謝謝。 – user1803649