php私有mysql连接
我有两个函数,一个是get_user_info(),它连接到一个名为“users”的数据库,另一个是print_info(),它连接到一个名为“blah”的数据库。我在print\u info()中调用get\u user\u info(),以便它可以检索信息。它们连接到2个不同的数据库并进行2个不同的连接,我使用另一个函数连接到数据库,称为connect_db($dbidhere)。当我调用get_user_info()时,它会取消另一个连接,在调用get_user_info()后,我必须重新连接到名为“blah”的数据库。有没有一种方法可以只在函数内部使用私有连接,而不取消另一个连接php私有mysql连接,php,function,private,Php,Function,Private,我有两个函数,一个是get_user_info(),它连接到一个名为“users”的数据库,另一个是print_info(),它连接到一个名为“blah”的数据库。我在print\u info()中调用get\u user\u info(),以便它可以检索信息。它们连接到2个不同的数据库并进行2个不同的连接,我使用另一个函数连接到数据库,称为connect_db($dbidhere)。当我调用get_user_info()时,它会取消另一个连接,在调用get_user_info()后,我必须重新
function get_user_info() {
connect_db($db1);
$query = 'blah blah';
$row = mysql_fetch_array($query);
echo $row['cool'];
}
function print_info() {
connect_db($db2);
$query = 'blah blah again';
get_user_info(); // Here is where it cancels out the 'connect_db($db2)' and replaces it with get_user_info connection
}
它不会取消它,而是要求它替换默认连接 您可能希望了解如何将从返回的值用作大多数与数据库对话的函数的可选链接标识符参数
编辑:假设您还没有,很难说您已经省略了mysql\u query()和mysql\u connect()调用。它没有取消它,您要求它替换默认连接 您可能希望了解如何将从返回的值用作大多数与数据库对话的函数的可选链接标识符参数
编辑:假设您还没有,很难说,因为您省略了mysql\u query()和mysql\u connect()调用。将数据库处理程序作为第二个参数传递给mysql\u query()
$result=mysql\u查询('select…',$db1)代码>或
$result=mysql\u查询('select…',$db2)代码>
将数据库处理程序作为第二个参数传递给mysql_query()非常重要
$result=mysql\u查询('select…',$db1)代码>或
$result=mysql\u查询('select…',$db2)代码>
刚刚意识到它使用的是同一个变量来连接,所以我假设这就是它的替代品,谢谢兄弟!刚刚意识到它使用的是同一个变量来连接,所以我假设这就是它的替代品,谢谢兄弟!
<?php
$DB1 = mysql_connect('localhost', 'user', 'pass') or die('Could not connect to localhost db');
mysql_select_db('foo', $db1);
$DB2 = mysql_connect('192.168.0.2', 'user', 'pass') or die('Could not connect to 192.168.0.2 db');
mysql_select_db('bar', $db2);
function get_user_info($id){
// access to DB1
global $DB1;
// try something like:
if($result = mysql_query("select user.* from user id = {$id}", $DB1)){
$user = mysql_fetch_assoc($result);
echo $user['name'];
}
}
function print_info(){
// access to DB2
global $DB2
// try something like:
if($result = mysql_query("select user_id from foo where bar = 'zim'", $DB2)){
$foo = mysql_fetch_assoc($result);
}
get_user_info($foo['user_id']);
}
?>