这个更新查询有什么问题?

时间:2014-03-28 20:14:07

标签: php mysql sql-update updates

我试图在网站上制作表格,您可以在其中写下要更新的产品的名称,价格或图片,并在每个字段旁边的文本框中输入您想要的新值采取但idk为什么每次我写东西时唯一更新的字段是名称,而不是更改新名称的前名称,它改为0,我使用的PHP代码是:

<?php

mysql_connect("localhost","paradise_root","gantzminus1");
mysql_select_db("paradise_dbsalon");
$nombre = $_POST['txtnombre']; 
$precio = $_POST['txtprecio'];  
$imagen = $_POST['txtimagen'];
$nombre2 = $_POST['txtnombre2']; 
$precio2 = $_POST['txtprecio2'];  
$imagen2 = $_POST['txtimagen2'];

$_GUARDAR_SQL = "update productosyservicios set nombre = ('".$nombre2."') or precio = ('".$precio2."') or imagen = ('".$imagen2."') where nombre = ('".$nombre."') or precio= ('".$precio."') or imagen = ('".$imagen."') "; 

$rst = mysql_query($_GUARDAR_SQL) or die("error".$_GUARDAR_SQL); 
if($rst==true){
$rest=false;

}
?>

4 个答案:

答案 0 :(得分:0)

$_GUARDAR_SQL = "update productosyservicios set nombre = ('".$nombre2."'), precio = ('".$precio2."'), imagen = ('".$imagen2."') where nombre = ('".$nombre."') or precio= ('".$precio."') or imagen = ('".$imagen."') "; 

您的更新中有or

(UPDATE productosyservicios set nombre = something **OR** <- this shouldnt be or it should be a comma

更新应以逗号分隔

答案 1 :(得分:0)

您的查询已关闭。

$_GUARDAR_SQL = "UPDATE productosyservicios SET nombre = '".$nombre2."', precio = '".$precio2."', imagen = '".$imagen2."' WHERE nombre = '".$nombre."' OR precio = '".$precio."' OR imagen = '".$imagen."'"; 

答案 2 :(得分:0)

您的SQL查询非常糟糕(不正确)。

您必须更改为:

$_GUARDAR_SQL = "update productosyservicios set nombre = '".$nombre2."' , precio = '".$precio2."' , imagen = '".$imagen2."' where nombre = '".$nombre."' or precio= '".$precio."' or imagen = '".$imagen."' "; 

我不确定你的where子句。

同时检查您的数据库。某处你可以有文本的整数列 - 更改为所有文本的varchar。

答案 3 :(得分:0)

这将与多个案例:试试:

UPDATE productosyservicios SET 
nombre = CASE WHEN nombre = '".$nombre."' then '".$nombre2."' else nombre   END ,
precio = CASE WHEN precio = '".$precio."' then '".$precio2."' else precio   END ,
imagen = CASE WHEN imagen = '".$imagen."' then '".$imagen2."' else imagen   END
相关问题