【发布时间】:2018-10-04 18:51:05
【问题描述】:
我正在尝试在 PHP 7.1 中运行以下查询
$pdoClient->exec("DROP VIEW IF EXISTS my_view;
CREATE VIEW my_view AS
select option_name,option_value from db1.options
UNION ALL
select option_name,option_value from db2.options;
");
$pdoClient->query("SELECT * from my_view WHERE option_name = 'blabla'";
我得到了错误
No database selected (SQLSTATE=3D000, CODE=1046).
但如果我在 Pdo 构造函数中添加数据库或添加“USE db1;”上面的陈述我得到了
Table 'db1.my_view' doesn't exist (SQLSTATE=42S02, CODE=1146).
由于某种原因,它认为我正在尝试运行表而不是视图。
有什么想法吗?
【问题讨论】:
-
你知道你可以传递数据库在PDO构造函数中使用吗?
-
您在
$create中缺少"。在进行连接时也要传递数据库名称 -
这是一个伪代码。是的,我在构造函数中传递了数据库,但没有帮助。
-
您不能对 PDO 查询使用超过 1 条语句。分别传递每个语句。
-
@aynber 他们是 2 个陈述。