Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php私有mysql连接_Php_Function_Private - Fatal编程技术网

php私有mysql连接

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()后,我必须重新

我有两个函数,一个是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”的数据库。有没有一种方法可以只在函数内部使用私有连接,而不取消另一个连接

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']);

}

?>