我已经在互联网上阅读了多个问题,包括这个stackoverflow question,但它们都没有为我工作.这是我的代码:
$conn1 = mysql_connect("localhost","root","passw0rd") or die(mysql_error());
$conn2 = mysql_connect("localhost","root","passw0rd") or die(mysql_error());
mysql_select_db("asteriskcdrdb",$conn1);
mysql_select_db("pj8v2",$conn2);
$query = "SELECT * FROM cdr";
$result = mysql_query($query,$conn1);
var_dump($result);
$query2 = "SELECT * FROM tb_did_avalaible";
$result2 = mysql_query($query2,$conn2);
var_dump($result2);
?>
当我var_dump结果时,它返回false.这里有什么问题?谢谢.
解决方法:
您不需要两个连接,如果两个数据库都位于同一个mysql服务器上,并且您作为唯一用户访问它们.
您也不需要选择数据库.
在指定表时只需使用database-name作为前缀:
mysql_connect("localhost","root","pass") or die(mysql_error());
$query = "SELECT * FROM asteriskcdrdb.cdr";
$result = mysql_query($query)or die(mysql_error());
var_dump($result);
$query2 = "SELECT * FROM pj8v2.tb_did_avalaible";
$result2 = mysql_query($query2)or die(mysql_error());
var_dump($result2);
?>
代码中的真正问题是:只能有一个活动数据库,它应该以这种方式工作:
$conn1 = mysql_connect("localhost","root","passw0rd") or die(mysql_error());
$conn2 = mysql_connect("localhost","root","passw0rd",true) or die(mysql_error());
mysql_select_db("asteriskcdrdb",$conn1);
$query = "SELECT * FROM cdr";
$result = mysql_query($query,$conn1);
var_dump($result);
mysql_select_db("pj8v2",$conn2);
$query2 = "SELECT * FROM tb_did_avalaible";
$result2 = mysql_query($query2,$conn2);
var_dump($result2);
?>
尽管不需要2个连接,但您可以使用相同的连接选择两个DB.
标签:php,mysql
来源: https://codeday.me/bug/20190721/1497209.html