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";}
?>
正在从另一个页面发布或"获取"这些值。他们肯定会成功,否则就会出现错误。目前,它只是根据代码显示"失败"。
我尝试了互联网上发现的许多代码变体,以检查我的编码是否正确,但我仍然无法使其发挥作用。
我想知道您是否尝试打印您的$query进行检查。
第一。将连接字符串移到最顶端。
第二。status=$status'
<lt;===减去1个报价的
我认为您必须先连接到数据库才能使用mysql_real_escape_string()
?尝试连接所有其他代码。
查询的状态部分也缺少引号。
尝试通过添加逗号进行更改
status=$status'
至status='$status'
仅供参考,我将paid='paid'
更改为paid='$paid'
,以确保正确的值通过
您的错误是因为没有正确处理status
更新:status=$status'
必须是status='$status'
。
如果你在"失败"部分放一个mysql_error()
,你就会想到这一点。