2015-05-30 38 views
-5

这是我upadating script--你的SQL语法有错误;检查对应于你的MySQL服务器版本的手册正确的语法以线附近使用1

 $cno = $data[6]; 

     $result = mysql_query("select * 
           from courier_details 
           where consignment_no = '".$cno."'"); 


      if($result >0) 
      { 
        $update = "UPDATE `courier_details` 
        SET(`shipper_name`, `shipper_phone`, `shipper_address`, `receiver_name`, 
         `receiver_phone`, `receiver_address`, `consignment_no`, 
         `type_of_shippment`, `weight`, `volumetric_weight`, `packages`, 
         `product`, `qnty`, `booking_mode`, `total_freight`, `mode`, 
         `dept_time`, `origin`, `destination`, `pickup_date`, `pickup_time`, 
         `status`, `excepted_dly_date`, `comments`, `delivered_date`, 
         `delivered_time`, `deboy`, `career`,`originbr`, `destinationbr`, 
         `email`) 
        VALUES('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]', 
         '$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]', 
         '$data[12]','$data[13]','$data[14]','$data[15]','$data[16]', 
         '$data[17]','$data[18]','$data[19]','$data[20]','$data[21]', 
         '$data[22]','$data[23]','$data[24]','$data[25]','$data[26]', 
         '$data[27]','$data[28]','$data[29]','$data[30]') 
        WHERE `consignment_no` = '".$cno."'";    

        mysql_query($update) or die(mysql_error()); 
     } 

存在显示错误而执行代码 -

你的SQL语法有错误;检查对应于你的MySQL服务器版本的手册正确的语法使用

附近 '(shipper_nameshipper_phoneshipper_addressreceiver_name,`receiver_' 在行1

+2

请在发布之前进行最少量的研究,但这不是更新的正确语法。 – Mat

+0

update table set()where columt_name ='abc';我知道如果你知道更多,请帮助我。 –

+0

在WHERE子句之前给出空格 – Sagar

回答

1

您更新查询似乎是错误的。

不能使用UPDATE查询像INSERT查询语法应为:

Update TableName 
Set col1=val1, 
    col2=val2, 
    col3=val3, 
....... 

在另一方面,INSERT可用于像:

INSERT INTO TableName 
(col1,col2,col3) VALUES (val1,val2,val3) 
0

使用mysql_num_rows()计数的行数

这是错误的

if($result >0) 

,不使用update查询作为insert查询都是不同

这将是: -

$result = mysql_query("select * from courier_details where consignment_no = '" . $cno . "'"); 

if (mysql_num_rows() > 0) { 
    $update="UPDATE table_name SET field1=value1, field2=value2"; 
    mysql_query($update) or die(mysql_error()); 
} 
1

您在混合updateinsert查询您需要了解它们之间的差异

UPDATE

UPDATE table_name SET field1=new-value1, field2=new-value2 
[WHERE Clause] 

INSERT

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)] 
VALUES (value1, value2, value3,...valueN); 

所以,你的查询将被像

"UPDATE `courier_details` SET `shipper_name` = '$data[0]', 
`shipper_phone` = '$data[1]'..... 
WHERE `consignment_no` = '$cno'" 
相关问题