2014-03-19 32 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