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";}
?>
正在从其他页面发布或“获取”这些值。它们肯定会通过,否则会出现错误。目前它根据代码简单地提出了“失败”。
我尝试过在互联网上找到的众多代码变体,以检查我的编码是否正确,但我仍然无法使其正常工作。
答案 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'
以确保传递正确的值