所以我有一个 PHP 页面,它首先连接到我的数据库,并使用那里的信息执行一系列操作。现在我想连接到同一 PHP 页面中的另一个数据库并从那里访问数据并将信息插入到我的原始数据库中。
代码:
<?php
session_start();
include ("account.php");
include ("connect.php");
....
do stuff here
....
include ("account2.php");
include ("connect2.php");
...
$thing = "SELECT abc, efg, hij FROM table ORDER BY RAND() LIMIT 1" ;
$thing = mysql_query($thing);
echo "$thing";
....
....
insert information into my database
(From account.php & connect.php files)
....
?>
除了 $thing 之外的所有内容都会显示。它说,“无效查询:查询为空”,但我知道我使用的查询有效,因为当我在 account2 数据库中运行它时,我得到了我想要的结果。是我的逻辑有问题还是其他什么问题?
最佳答案
执行查询时您没有提及数据库连接链接。可能您的第二个数据库连接是在 connection.php 文件中的第一个数据库连接之后定义的。因此解释器在执行查询时正在考虑第二个连接。
用查询定义连接链接,
$thing = mysql_query($thing,$conn); //$conn is your mysql_connect
您仍然可以使用 mysql_connect 或类似的 mysql_ 函数(程序方式),但所有这些现在都已弃用。您应该使用 mysqli_(mysql 改进)函数或采用面向对象的方式。
$conn1 = new mysqli(SERVER1,DB_USER1,DB_PASS1,DB1);
$conn2 = new mysqli(SERVER2,DB_USER2,DB_PASS2,DB2);
if($conn1 ->connect_errno > 0 || $conn2 ->connect_errno > 0){
die('Unable to connect to database server.');
}
现在在执行查询时,
$query = "SELECT abc, efg, hij FROM table ORDER BY RAND() LIMIT 1";
$thing = $conn1 -> query($query); //if it's second connection query user $conn2
关于PHP - 连接到多个 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20027275/