更新MySQL和PHP中的查询无法正常工作

时间:2012-09-06 09:43:26

标签: php mysql

PHP通常可以直接使用,但我无法使用此查询。我试图更新一个简单的记录。我的代码如下。

<?php

 $customername=mysql_real_escape_string($_POST['customername']); 
 $contact=mysql_real_escape_string($_POST['contact']); 
 $customerorder=mysql_real_escape_string($_POST['customerorder']); 
 $orderplaced=mysql_real_escape_string($_POST['orderplaced']); 
 $staffmember=mysql_real_escape_string($_POST['staffmember']); 
 $daterequired=mysql_real_escape_string($_POST['daterequired']); 
 $status=mysql_real_escape_string($_POST['status']); 
 $paid=mysql_real_escape_string($_POST['paid']); 
 $delivery=mysql_real_escape_string($_POST['delivery']); 
 $ordercontent=mysql_real_escape_string($_POST['ordercontent']); 
 $orderid=mysql_real_escape_string($_GET['orderid']); 

mysql_connect("localhost", "xxxx", "xxxxxxx") or die("Connection Failed");
mysql_select_db("xxxxxx")or die("Connection Failed");


$query = "UPDATE ordermanager_orders SET customername='$customername', contact='$contact',  ordernumber='$customerorder', placedby='$orderplaced', requiredby='$daterequired', status=$status', staffmember='$staffmember', paid='paid', delivery='$delivery', ordercontent='$ordercontent' WHERE order='$orderid'";

if(mysql_query($query)){
 echo "updated";}
 else{
 echo "fail";}

?> 

正在从其他页面发布或“获取”这些值。它们肯定会通过,否则会出现错误。目前它根据代码简单地提出了“失败”。

我尝试过在互联网上找到的众多代码变体,以检查我的编码是否正确,但我仍然无法使其正常工作。

4 个答案:

答案 0 :(得分:4)

我想知道你是否曾尝试print_r你的$查询来检查。

第一。将连接字符串移到最顶层。

第二。 status=$status'&lt;&lt; ===少1报价

答案 1 :(得分:3)

我认为您必须先连接到数据库才能使用mysql_real_escape_string()?尝试连接所有其他代码。

查询的状态部分也缺少引号。

答案 2 :(得分:1)

您的错误是因为未正确处理status更新:status=$status'必须为status='$status'

如果您在“失败”部分放置mysql_error(),就会想到这一点。

答案 3 :(得分:1)

尝试通过添加逗号进行更改

status=$status'status='$status'

并且FYI将paid='paid'更改为paid='$paid'以确保传递正确的值