此查询返回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
我的日期似乎格式正确。为什么会被截断,我该如何解决?
答案 0 :(得分:0)
试
printf("Affected rows : %d\n", mysqli_affected_rows($conn));
答案 1 :(得分:0)
我认为没有必要将连接资源传递给mysqli_query和mysqli_real escape_string,只需将它传递给你的select mysqli_select_db,如mysqli_select_db('database',$ conn)
答案 2 :(得分:0)
然后,您必须检查在该查询上传递的每个变量的值:$date
,$conn
或$url
,并确保每个变量都返回任何值。但根据您的错误行,我认为它将是您的$date
,可能没有返回该变量的值或日期格式错误。这就是查询返回该错误的原因。
尝试回显$date
。