Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php没有向mysql添加数据_Php_Mysql - Fatal编程技术网

php没有向mysql添加数据

php没有向mysql添加数据,php,mysql,Php,Mysql,将执行前2个查询,并将数据添加到数据库中。。但最后一条语句并没有将数据添加到数据库中。请帮帮我吧我假设$conn是一个PDO对象 我有几点建议: 1) 使用更高级别的数据库抽象。DBAL真的很好 2) 如果要使用PDO,必须检查$conn->query()的返回值false以了解是否发生错误,然后调用$conn->errorInfo和$conn->errorCode以了解该错误是什么。您应该始终在函数调用中处理错误条件 3) 不用处理错误条件,PDO可以配置为通过以下方式引发异常: $date

将执行前2个查询,并将数据添加到数据库中。。但最后一条语句并没有将数据添加到数据库中。请帮帮我吧

我假设
$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();