gpt4 book ai didi

php - mysql_select_db 之后 MySQL 查询未在正确的数据库上运行

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

首先,我知道这个系统不应该再使用 mysql_ 函数,但它确实如此。

系统正在连接到两个数据库。在运行查询之前,它使用 mysql_select_db() 选择要在其上运行查询的正确数据库。正确的数据库是“database2”。与数据库本身的连接正常,并且 mysql_select_db 函数返回 true/1。

该代码在本地可以运行,但在服务器上不起作用...

这是一个失败查询的示例...

global $DBtwo;

mysql_select_db('database2', $DBtwo);

$sql = "INSERT INTO table
(Column1, Column2, Column3)
VALUES
('Value1', 'Value2', 'Value3')";

$result = mysql_query($sql, $DBtwo);

die(mysql_error());

此脚本返回以下输出...

Table 'database1.table' doesn't exist

该错误表明查询是在数据库 1 上执行的,而不是在数据库 2 上执行的。然而,在运行查询之前,database2 已被成功选择。

如上所述,此错误仅发生在服务器上。在本地运行查询工作并使用正确的数据库。

非常欢迎任何建议或指示。干杯。

最佳答案

Marc B 的评论解决了我的问题,所以功劳归于他。

mysql_error 函数返回误导性信息,因为它没有传递资源。

mysql_select_db 实际上正在工作。它给人的印象是通过不将正确的资源传递给 mysql_error 的组合而无法工作。最重要的是,mysql_insert_id() 出于同样的原因无法正常工作,导致函数整体返回 false。

我现在觉得自己很愚蠢,但不那么恼火了。非常感谢!

关于php - mysql_select_db 之后 MySQL 查询未在正确的数据库上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37994841/

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