2017-02-18 5 views
-2

テーブルの値を変更しようとしていますが、何らかの理由で値が更新されません。ここには、PHPは:PHP/MySQLでレコードが更新されない

$title=mysqli_escape_string($conn,$_POST['title']); 
echo $title."<br>"; //Test 
$note=mysqli_escape_string($conn,$_POST['jnote']); 
echo $note."<br>"; //Test 



$query="UPDATE articles SET return_j='1' AND j_note='$note' WHERE article_name='$title'"; 
if ($conn->query($query) === TRUE) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . $conn->error; 
} 

問題はない私はエラーが発生しています。 「レコードが正常に更新されました」というメッセージが表示されます。したがって、クエリは正常に実行されていますが、テーブルは更新されません。なぜか分からない。

テーブルの他の列を更新するとき(他のスクリプトで)、問題はありません。

+1

'SET return_j = '1' AND j_note = '$ note'' - それは合法ですか? –

+0

場合があります。ありがとう。私が – Archon

+1

RTM on UPDATE https://dev.mysql.com/doc/refman/5.7/en/update.htmlあなたがしなかったことを見てみましょう。 –

答えて

1

カンマのANDを入れ替えます。

UPDATE articles SET return_j='1', j_note='$note' WHERE article_name='$title' 

と私はあなただけ条件文の外にそれを残す

===TRUE 

を必要としないと思います。

+0

真。 sidenote:UPnPでmysqli_affected_rows()を使うのも一番良い方法です。http://php.net/manual/en/mysqli.affected-rows.phpそうすれば、彼らは実際の真実を得る。 –

+0

私は[このコメント](http://stackoverflow.com/questions/42317051/record-not-getting-updated-in-php-mysql#comment71787739_42317051)を見てみたいと思います。それはいずれかの方法でスイングできる –

関連する問題