php没有向mysql添加数据
将执行前2个查询,并将数据添加到数据库中。。但最后一条语句并没有将数据添加到数据库中。请帮帮我吧我假设php没有向mysql添加数据,php,mysql,Php,Mysql,将执行前2个查询,并将数据添加到数据库中。。但最后一条语句并没有将数据添加到数据库中。请帮帮我吧我假设$conn是一个PDO对象 我有几点建议: 1) 使用更高级别的数据库抽象。DBAL真的很好 2) 如果要使用PDO,必须检查$conn->query()的返回值false以了解是否发生错误,然后调用$conn->errorInfo和$conn->errorCode以了解该错误是什么。您应该始终在函数调用中处理错误条件 3) 不用处理错误条件,PDO可以配置为通过以下方式引发异常: $date
$conn
是一个PDO
对象
我有几点建议:
1) 使用更高级别的数据库抽象。DBAL真的很好
2) 如果要使用PDO,必须检查$conn->query()
的返回值false
以了解是否发生错误,然后调用$conn->errorInfo
和$conn->errorCode
以了解该错误是什么。您应该始终在函数调用中处理错误条件
3) 不用处理错误条件,PDO可以配置为通过以下方式引发异常:
$date = date('Y-m-d H:i:s');
$qry = "INSERT INTO `guest` (`name`, `pincode`, `address`, `phone`, `date`) VALUES ('".$_SESSION['name']."', '".$_SESSION['pincode']."', '".$_SESSION['address']."', '".$_SESSION['phone']."', '".$date."');";
$result = $conn->query($qry);
//echo $qry;
$qry = "select guest_id from guest where name = '".$_SESSION['name']."' and pincode = '".$_SESSION['pincode']."' and address= '".$_SESSION['address']."' and phone= '".$_SESSION['phone']."' and date= '".$date."';";
//echo $qry;
$result = $conn->query($qry);
$row = $result -> fetch_assoc();
//echo $row['guest_id'];
$guest_id = $row['guest_id'];
$date = date('Y-m-d H:i:s');
//$qry1 = "INSERT INTO order (`order_date`, `payment_type`, `payment_status`, `order_status`, `order_type`, `amount`, `cust_id`) VALUES ('".$date."', 'cod', 'yes', 'Pending', 'yes', ".$_SESSION['total'].", '".$guest_id."');";
$qry1 = "INSERT INTO `grocery`.`order` (`order_date`, `payment_type`, `payment_status`, `order_status`, `delivery_slot`, `order_type`, `amount`, `deliver_date`, `cust_id`) VALUES ('sd', 'asd', 'sdf', 'sd', '4', 'sf', '23', '2017-04-19', 'sdfs');";
$result1 = $conn->query($qry1);
echo $qry1;
这意味着,如果您只是想中止DB错误,那么您可以编写更少的错误处理代码。将SQL注入问题放在一边,在我看来,第3行之后的所有内容都可以替换为:
$conn->setAttribute("PDO::ATTR_ERRMODE", PDO::ERRMODE_EXCEPTION);
有错误吗?没有错误coming@deepakasai插入后是否要选择?请今天花点时间了解SQL注入攻击。您正在编写的代码看起来可能容易受影响。您应该使用一种方法将值插入到包含准备好的语句和绑定的查询中。表名正确吗?我觉得很奇怪这不是pdo。。它的mysqli是面向对象的。。那么,如何在本教程中获取错误报告呢?如果有错误,您可以使用mysqli_error()或mysqli_connect_error()来显示错误。
INSERT INTO `order`
(order_date
,payment_type
,payment_status
,order_status
,order_type
,amount
,cust_id)
SELECT CURDATE()
, 'cod'
, 'yes'
, 'Pending'
, 'yes'
, {$_SESSION['total']}
, guest_id
FROM guest
WHERE name = '{$_SESSION['name']}'
AND pincode = '{$_SESSION['pincode']}'
AND address = '{$_SESSION['address']}'
AND phone = '{$_SESSION['phone']}'
AND date = CURDATE();