PHP没有';不要进入数据库

PHP没有';不要进入数据库,php,pdo,Php,Pdo,我正在制作一个购物车数据库,我想把已经“活动”了48小时的购物车转移到一个非活动的购物车表中 现在我有了这段代码,但问题是,它没有把它放到数据库中,我检查了一下,所有的$time项都进入了if命令 这是我的密码: foreach ($times as $time) { $username = $time['username']; $user_id = $time['user_id']; $cart_id = $time['cart_id']; $cart_valu

我正在制作一个购物车数据库,我想把已经“活动”了48小时的购物车转移到一个非活动的购物车表中

现在我有了这段代码,但问题是,它没有把它放到数据库中,我检查了一下,所有的
$time
项都进入了if命令

这是我的密码:

foreach ($times as $time) {
    $username = $time['username'];
    $user_id = $time['user_id'];
    $cart_id = $time['cart_id'];
    $cart_value = $time['cart_value'];
    if ($timeAlive >= 12000) {
        try {

            $queryInctive = $con->prepare('
                INSERT INTO inactive_carts(`cart_id` , `username` , `user_id` , `cart_value` , `date`) 
                 VALUES(:cart_id , ":username" , :user_id , ":cart_value" , CURRENT_TIMESTAMP)');
            $queryInctive->bindParam(":cart_id" , $cart_id , PDO::PARAM_INT);
            $queryInctive->bindParam(":username" , $username);
            $queryInctive->bindParam(":user_id" , $user_id , PDO::PARAM_INT);
            $queryInctive->bindParam(":cart_value" ,$cart_value );
            $queryInctive->execute();
        } catch (Exception $e) {
            echo "Error is: " . $e->getMessage();
        }
    }
}
我一点也不出错。看来一切都好

注意
cart_id是一个int,username是一个字符串,user_id是一个int,cart_值是一个数组

我的问题是数据库中的变量名在我的代码中是大写和小写的


我在这里学到了关于php和mysql的所有知识。是一个已知的好例子。

我遇到的问题是,数据库中的变量名在我的代码中是大写和小写的


我在这里学到了关于php和mysql的所有知识。这是一个很好的例子。

您可以通过在查询中完成这一切来简化它。执行
插入..选择
,然后删除后面的行。这样,您就不必首先获取值(我不知道如何获得
$times
变量)

创建PDO对象后,将启用该功能。您还应该通过在文件顶部添加以下内容来启用本机PHP错误报告

<?php 
error_reporting(E_ALL);
ini_set("display_errors", 1);

您可以通过在查询中执行所有操作来简化此过程。执行
插入..选择
,然后删除后面的行。这样,您就不必首先获取值(我不知道如何获得
$times
变量)

创建PDO对象后,将启用该功能。您还应该通过在文件顶部添加以下内容来启用本机PHP错误报告

<?php 
error_reporting(E_ALL);
ini_set("display_errors", 1);

如何获取
$times
变量?是否确实输入了
if
-块?PDO是否设置为抛出异常?PHP本机错误日志记录呢<代码>错误报告(E_全部);ini设置(“显示错误”,1)如何获取
$times
变量?是否确实输入了
if
-块?PDO是否设置为抛出异常?PHP本机错误日志记录呢<代码>错误报告(E_全部);ini设置(“显示错误”,1)修复了它,问题是我在参数周围加了引号,谢谢。顺便说一句,你知道我可以将数组插入数据库的方法吗?这是一个更优雅、更动态的解决方案,你最好采用它;-)您不应该在数据库中插入数组或逗号分隔的值,而是应该对它们进行规范化。看,是的,但是列的数量没有设置好,您可以通过执行
选择'cart\u id','username','user\u id','cart\u value`
而不是
选择*
,移动所选列,然后将
日期
列作为
当前时间戳
默认值。修复了它,问题是我在参数周围加了引号,无论如何,谢谢。顺便说一句,你知道我可以将数组插入数据库的方法吗?这是一个更优雅、更动态的解决方案,你不妨采用它;-)您不应该在数据库中插入数组或逗号分隔的值,而是应该对它们进行规范化。请看是的,但是列的数量没有设置好,您可以通过执行
选择'cart\u id','username','user\u id','cart\u value`
而不是
选择*
,移动所选列,然后将
日期
列作为
当前时间戳
默认值。
<?php 
error_reporting(E_ALL);
ini_set("display_errors", 1);