0

このクエリは、影響を受ける 0 行を返します。

mysqli_query($conn, "UPDATE dates SET date = '$date' WHERE url = '". mysqli_real_escape_string($conn, $url) ."'")

SQL クエリを出力すると、次のようになります --

UPDATE dates SET date = '2012-10-25' WHERE url = 'http://foo.com'

コマンドラインでこれを手動で行うと、問題なく動作します。

mysqli_query() が失敗するのはなぜですか?

編集:

警告を表示すると、-

Warning (1265): Data truncated for column 'date' at row 1

私の日付は正しくフォーマットされているようです。なぜそれらは切り捨てられるのでしょうか?どうすればこれを解決できますか?

4

3 に答える 3

0

次に、そのクエリで渡された各変数の値を確認する必要があります:または$date、それぞれが任意の値を返すことを確認します。しかし、エラー行に基づいて、それはあなたのものになると思います。その変数に値が返されないか、日付の形式が間違っている可能性があります。そのため、クエリはそのエラーを返します。$conn$url$date

の値をエコーし​​てみてください$date

于 2012-10-26T00:02:08.370 に答える
0

その接続リソースを mysqli_query および mysqli_real escape_string に渡す必要はないと思います。選択した mysqli_select_db に mysqli_select_db('database',$conn) のように渡すだけです。

于 2012-10-25T15:52:02.573 に答える
0

試す

  printf("Affected rows : %d\n", mysqli_affected_rows($conn));
于 2012-10-25T15:51:48.940 に答える