gpt4 book ai didi

mysql - 使用准备好的语句中不支持的 INFORMATION_SCHEMA,但我没有使用准备好的语句?

转载 作者:行者123 更新时间:2023-11-29 01:03:18 24 4
gpt4 key购买 nike

查询:

$PDO->query('use `INFORMATION_SCHEMA`');

失败:

SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet.

但我没有使用带有 prepare()+execute() 的准备语句来进行此查询,我使用的是 query() 方法。我该如何解决这个问题?

版本信息:

PHP 版本:5.5.9-1ubuntu4

mysql 版本:14.14 Distrib 5.5.35,使用 readline 6.3 的 debian-linux-gnu (x86_64)

最佳答案

我认为问题在于您试图在 PDO->query 方法中使用“use”命令。 “use”命令通常在您使用 MySQL 命令行工具时使用,它用于选择数据库。

创建 PDO 时,通常会指定要使用的数据库。举个例子:

$DBH = new PDO("mssql:host=$host;dbname=$dbname, $user, $pass");

创建数据库处理程序 PDO 所需的四件事是:

  • 主持人
  • 数据库名称
  • 用户名
  • 密码

您可能在做什么(我无法判断,因为您没有列出您的 PDO 声明语句)正在连接到另一个数据库,然后尝试执行查询以切换数据库。我不认为 PDO 是为这样做而设计的。

如果你想连接到 INFORMATION_SCHEMA 数据库,你应该在你的 PDO 中进行或创建另一个 PDO。

$DBH = new PDO("mssql:host=$host;dbname=INFORMATION_SCHEMA, $user, $pass");

希望这能解决您的问题。

关于mysql - 使用准备好的语句中不支持的 INFORMATION_SCHEMA,但我没有使用准备好的语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23488917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com