我试图在网站上制作表格,您可以在其中写下要更新的产品的名称,价格或图片,并在每个字段旁边的文本框中输入您想要的新值采取但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;
}
?>
答案 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