首先,我知道这个系统不应该再使用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
该错误表明查询正在database1上执行,而不是在database2上执行。但是,在运行查询之前,已成功选择了database2。
如上所述,此错误仅发生在服务器上。在本地运行查询工作并使用正确的数据库。
非常欢迎任何建议或指示。欢呼声。
答案 0 :(得分:1)
Marc B的评论解决了我的问题,所以归功于他。
mysql_error函数返回误导信息,因为它没有传递资源。
mysql_select_db实际上正在运行。它给人的印象是不能通过不将正确的资源传递给mysql_error的组合工作。最重要的是,mysql_insert_id()由于同样的原因无法工作,导致整个函数返回false。
我现在感到愚蠢,但不那么恼火。非常感谢!