mysql查询难度与类型

时间:2011-12-10 12:49:48

标签: mysql

这没有意义! 如果值是INT(是的,它被定义为文本),则更新查询仅实际更新。 具有相同变量的INSERT与值类型一起使用!

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');");

2 个答案:

答案 0 :(得分: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));

答案 1 :(得分:0)

我不确定我是否理解你的意思,但尝试以这种方式在单引号之间设置值(右边的=):

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