当前位置: 首页 > 知识库问答 >
问题:

对两个准备好的语句使用相同的MySql连接

云何平
2023-03-14

所以我的PHP代码遇到了问题,我试图运行两个准备好的语句,这两个语句都是用相同的$mysqli对象“prepared”的。

        require 'database.php';
        $mysqli = new mysqli($database_host, $database_user, $database_pass, $database_name);

        /*First check if there is already a preference record for this user
          with this particular course.*/
        $query = "SELECT * FROM timetablePrefs WHERE username=? AND courseID=?";
        $stmt = $mysqli->prepare($query);
        foreach ($courseList as $key => $value)
        {
            $stmt->bind_param("ss", $username, $key);
            $stmt->execute();
            if (($stmt->num_rows) === 1)
                continue;
            else
            {
                $query = "INSERT INTO timetablePrefs (username, courseID, hexColour, hidden) ";
                $query .= "VALUES (?, ?, ?, 0)";
                $prepared = $mysqli->prepare($query);
                $prepared->bind_param("sss", $username, $key, "#FFFFFF");
                if (!($prepared->execute()))
                    print("Sorry couldnt change your colour preferences.");
                $prepared->close();
            }
        }
        $stmt->close();
        $mysqli->close();

我可能错过了什么;你能同时运行两个吗?如有任何帮助,我们将不胜感激!如有任何问题,请询问;)

共有1个答案

娄学文
2023-03-14
  1. 获取实际错误
  2. 来解决它。从错误中可以看出,前面的查询有结果挂起。需要存储它们
 类似资料:
  • 问题内容: 我想在 同一批中 发送 两个不同的准备好的语句 。 目前,正如您在注释行中看到的那样,我将一分为二,并且可以正常工作,但这不是这里的主要目标。谁能告诉我用什么代替这些评论,以使此功能正常工作? 问题答案: 您不能在一个批处理中执行两个不同的语句。正如@dan所提到的,您可以-并且 必须 -在单个事务中完成它们。 另一种选择是使用存储过程,该存储过程可以在一次往返服务器的过程中完成所有操

  • 问题内容: 我已经使用prepared语句将订单插入到订单表中,但是现在我想根据订单表中插入的最后一个ID将订单项插入到订单表中: 等同于使用准备好的语句? 问题答案: 如果您使用的是PDO,则为。因此,如果您的数据库句柄称为: 如果您使用的是MySQLi,则为或:

  • 我有以下准备的一个准备好的声明失败了... 我在我的第一份准备好的声明中几乎有同样的准备,而且它进行得很好。我不确定是否我有两个准备好的声明,如果这是造成一个问题,或情况可能是什么? 现在我有个错误... 更新-可能的内部连接,像这样?

  • 问题内容: 我使用准备好的语句编写了select语句。每次尝试运行时都会出现此错误。我如何克服这个错误?我的jdbc连接器是mysql-connector- java-5.1.13-bin.jar。我的代码: 错误代码.. 2013年10月1日,下午1:23:23 sanin.lands.model.View_ads_cls getAdDetail 问题答案: 错误在这一行 这样做

  • 其思想是创建一个准备好的语句将信息插入到用户表中,然后从生成的内容中获取insert_id以在另一个insert语句中使用 这是我的注册脚本的一个版本 第一条准备好的语句正确运行并向表中插入信息,之后成功回显$RETURNID变量。脚本中的下一个是我准备好的第二条语句,当它试图运行im时,得到的错误是: 致命错误:对第17行d:\filepath\register.php中的非对象调用成员函数bi