2011-12-10 31 views
0

這是毫無意義的! 只有當值爲INT(更新查詢被定義爲文本)時,更新查詢纔會實際更新。 具有相同變量的INSERT適用於值類型!mysql查詢難度與類型

mysql_query("UPDATE `atuam_mae`.`missoes` SET `mensagemdeuser` = $message WHERE `missoes`.`id` =$idmissao;"); 
mysql_query("INSERT INTO `atuam_mae`.`concelhos` (`id` ,`tempo` ,`userid` ,`concelho`) VALUES (NULL , CURRENT_TIMESTAMP , $user , '$message');"); 
+0

您在查詢一個引用'$ message'。你爲什麼不在另一個引用它? – Mat

+1

不確定它爲什麼被downvoted兩次,而不是最高級的問題,但不值得downvoting – ajacian81

回答

3

那是因爲你沒有封閉你的輸入變量在引號:

"UPDATE `atuam_mae`.`missoes` 
SET `mensagemdeuser` = '$message' 
WHERE `missoes`.`id` = '$idmissao';" 

NB。不要這樣做,而是使用prepared statements

$stmt = $db->prepare('UPDATE `atuam_mae`.`missoes` 
    SET `mensagemdeuser` = :message 
    WHERE `missoes`.`id` = :id'); 
$stmt->execute(array(':message' => $message, ':id' => $idmissao)); 
+0

它不應該是'... ='$ message''嗎? – a1ex07

+0

謝謝!!! 它總是很簡單的東西:p – coiso

+0

@ a1ex07:我不完全確定,因爲我無法猜測列名嘗試說什麼......但是我準備好的聲明可以減輕所有的負擔:D – knittl

0

我不知道我明白你的意思,但嘗試單引號把值(=右)這種方式:

mysql_query("UPDATE `atuam_mae`.`missoes` SET `mensagemdeuser` = '$message' WHERE `missoes`.`id` ='$idmissao';");