2014-03-19 36 views
0

我试图找出什么问题是因为小时。我有一个varchar(255)。mysql_query更新的varchar不适用于“ - ”

作品:

mysql_query("UPDATE `servers` SET `url`='quicktest' WHERE `id`=63"); 

不起作用:

mysql_query("UPDATE `servers` SET `url`='quick-test' WHERE `id`=63"); 

什么是错的 “ - ” 字符,它不工作?我的意思是我可以在没有问题的情况下在phpmyadmin中更新它,有时它甚至可以通过mysql_query工作。 (20件中的1件)

关于mysql_query我知道它已过时,但它只是更新内部的东西。

更新#1

我没有过这样的问题,一个旧的debian 6服务器上,但因为它是在与玛丽亚db和PHP5-FPM的Ubuntu 13.10我不能使用这个脚本任何更多的我不会有任何错误。

更新#2

,因为它看起来就像是与经由apache的模块或谷歌的PageSpeed模块任一缓存。

+0

你得到任何错误? –

+0

没什么,这就是为什么我不明白它。 – user2693017

+1

把这个加到mysql_query()'或者死(mysql_error())'末尾,并且检查它是否打印出任何错误 – krishna

回答

0

不是一个解决办法,但也许这是值得一试:

$temp_url = mysql_real_escape_string('quick-test'); 
mysql_query("UPDATE `servers` SET `url`='".$temp_url."' WHERE `id`=63"); 
+0

它是'quick-test'而不是'quick_test'。此外,它不是一个解决方案,您应该将其作为评论发布。 – krishna