簡體   English   中英

此更新查詢出了什么問題?

[英]What's wrong with this update query?

我正在嘗試在網站上制作一個表格,在其中您可以輸入要更新的產品的名稱,價格或圖像,並在每個字段旁邊的文本框中輸入可以采用的新值,但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;

}
?>
$_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

更新應以逗號分隔

您的查詢已關閉。

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

您的SQL查詢非常糟糕(不正確)。

您必須更改為:

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

我不確定您的where子句。

還要檢查您的數據庫。 在某些地方您可以使用整數列作為文本-將所有文本更改為varchar。

這個gona具有多個CASE:

試試看:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM