Php 未选择任何数据库,即使已明确说明
我有一个在脚本中运行的查询,当它在mysql工作台中运行时,它工作正常 但是,运行脚本会导致powershell中出现“未选择数据库”错误。我已经按照错误提示进行了操作,但是您可以看到,在我的查询中,我显式地声明了每个表的数据库,即(agombit.agombit\u totals) 是否还有其他约束条件需要添加Php 未选择任何数据库,即使已明确说明,php,mysql,Php,Mysql,我有一个在脚本中运行的查询,当它在mysql工作台中运行时,它工作正常 但是,运行脚本会导致powershell中出现“未选择数据库”错误。我已经按照错误提示进行了操作,但是您可以看到,在我的查询中,我显式地声明了每个表的数据库,即(agombit.agombit\u totals) 是否还有其他约束条件需要添加 $stmt3 = mysqli_prepare($conn2, "UPDATE ambition.ambition_totals a
$stmt3 = mysqli_prepare($conn2,
"UPDATE ambition.ambition_totals a
INNER JOIN
(SELECT
c.user AS UserID,
COUNT(*) AS dealers,
ROUND((al.NumberOfDealers / al.NumberOfDealerContacts) * 100 ,2) AS percent
FROM jfi_dealers.contact_events c
JOIN jackson_id.users u
ON c.user = u.id
JOIN jfi_dealers.dealers d
ON c.dealer_num = d.dealer_num
LEFT JOIN (
SELECT user_id, COUNT(*) AS NumberOfDealerContacts,
SUM(CASE WHEN ( d.next_call_date + INTERVAL 7 DAY) THEN 1 ELSE 0 END) AS NumberOfDealers
FROM jackson_id.attr_list AS al
JOIN jfi_dealers.dealers AS d ON d.csr = al.data
WHERE al.attr_id = 14
GROUP BY user_id) AS al
ON al.user_id = c.user
GROUP BY UserID) as cu
on cu.UserID = a.ext_id
SET a.dealers_contacted = cu.dealers,
a.percent_up_to_date = cu.percent;
") or die(mysqli_error($conn2));
将数据库名称指定为
mysqli\u connect()
下面是一个假设您正在本地主机上连接的示例:
$conn2 = mysqli_connect("localhost", "your_username", "your_password", "ambition");
或者,如果
mysqli
不是您的默认数据库,则在您的mysqli\u准备语句之前,是否选择\u db(“野心”)
。您是否在mysqli连接中指定了数据库?如果没有,您需要。您应该首先使用来选择一个数据库…或者在创建连接时将其指定为@JayBlanchard saidNo,您应该始终在连接中指定数据库mysqli\u select\u db()
仅用于更改。()否,应始终在连接中指定数据库mysqli\u select\u db()
仅用于更改。谢谢。我只是给出了可能的解决方案,因为OP没有显示连接是如何建立的。我认为db在创建时没有被指定(因为它是可选的)。正如我所指出的,它不是可选的。即使文档中没有说明,您也必须在连接期间说明默认数据库。然后,也只有这样,才能使用mysqli\u change\u db()
更改默认数据库。我无法告诉您有多少次人们遇到这个错误,并在连接过程中通过指定默认值来纠正它。不是所有参数都是可选的吗?说他们是我明白,但请看一下文件。这不是保证的行为。