我无法执行长脚本,PDO引发异常:
SQLSTATE[HY000]: General error
如果我提交的脚本不包含变量,它将运行而不会出现问题。相同的脚本在phpmyadmin界面上运行。
这是我的代码段:
try {
$dsn = "mysql:host=" . DB_SERVER . ";dbname=" . DB_DEFAULT;
$db = new PDO($dsn, DB_USER, DB_PASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$q = $db->query($query);
if (!$q) {
echo $db->errorInfo();
} else {
$rows = $q->fetchAll(PDO::FETCH_ASSOC);
}
} catch (PDOException $e) {
var_dump($e);
}
这是一些不能由PDO执行的测试:
SET @ra_LMC:=80.9;
SELECT @ra_LMC;
我应该如何用pdo执行多行脚本?
感谢
阿曼。
PDO不允许在一个query()请求中执行多个语句。但是您的@ra_LMC变量应该在当前连接中可见,因此您可以将第二行(SELECT)放入新的query()调用中。
要读取整个脚本,您必须解析文件并通过调用query()运行每个语句。
问题内容: 我正在尝试使用PDO在PHP中运行查询。该查询在顶部具有一些变量来确定排名,除了在$ sql中使用SET @var时,它返回一个空行集。但是,如果删除有问题的SQL,它会返回正常值。 我不想在我的脚本中返回@ prev_value,@ rank_count或@rank_increasing,仅返回它在SELECT中创建的排名。 你能告诉我我做错了吗? 谢谢 问题答案: 在此处找到解决方
问题内容: 嗨,我正在尝试执行脚本以使用Golang将数据填充到数据库中 问题是我遇到了错误: 我认为问题是执行人员认为是dbname的最后一个参数(sql脚本路径) 终端中的以下命令正在运行: 但我尝试在Go中复制以自动执行脚本。 该脚本具有删除表,创建表,插入和具有FK关系的PK,这是一个非常完整的脚本,因此我无法逐行执行,因此我决定执行de mysql程序以将数据插入数据库中。 有什么建议?
我想在我的shell脚本中使用mysql语法和变量,我用错了什么? 我正在尝试将其作为./test.sh运行
问题内容: 鉴于Java 9已经来临,我们终于可以拥有Java REPL了,我希望有一种方法可以在脚本中添加shebang并对其进行解释。 我尝试创建: 然而,这给出了: 事实证明,OpenJDK https://bugs.openjdk.java.net/browse/JDK-8167440中对此有增强要求。 还有其他方法吗? 问题答案: 用 作为的第一行。该脚本可能如下所示: 当然,命令行选项
由于我不知道的原因,这在我的最新函数中不起作用: 语法错误表明它在之后按字面意思解释,而不是展开它。我如何让它在这里使用变量值而不是文字值?我知道在中可能是一个不同的上下文,但肯定有一种方法可以在所有地方编写这个模式名的脚本?
问题内容: 我的package.json文件中有一个npm任务,如下所示执行笑话测试: 我想使用grunt 执行此任务。我为此安装了grunt-run并添加了run任务,但是如何在其中调用此npm任务呢? 问题答案: 配置与文档中显示的示例类似的示例。 将的值设置为。 设置和在数组中。 Gruntfile.js 跑步 使用上面显示的配置通过CLI 运行将调用该命令。 注意:向Array 添加(或等