0

信じられないことに、「追加」とは異なる変数を使用した正確なスクリプトが機能します。ただし、追加用の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";
?>
4

2 に答える 2

0

このテーブルには「自動インクリメント」IDがあるかどうか教えてください。

はいの場合、更新したレコードのIDを渡してください。

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

いいえの場合、次のようにクエリを変更してください。

$sql = "UPDATE purchases SET additional = '$lt1' WHERE username = ? OR blah = ? OR kusername = ?";
于 2012-11-30T05:54:04.743 に答える
0

試す

$sql = "UPDATE purchases SET additional = ? WHERE username = ? AND blah = ? AND kusername = ?";
$q = $dbh->prepare( $sql );
$params = array( $lt1,$lt2, $username, $blah );
于 2012-11-30T05:42:02.983 に答える