Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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用户定义函数的多数据库连接_Php_Mysql_Php 5.3_Mysql 5.5 - Fatal编程技术网

使用php用户定义函数的多数据库连接

使用php用户定义函数的多数据库连接,php,mysql,php-5.3,mysql-5.5,Php,Mysql,Php 5.3,Mysql 5.5,这是config.php的代码,我将此文件包含在所有php文件中: <?php $db_name = 'localhost'; $db_user = 'XXXXXX'; $db_pass = 'XXXXXXXXXX'; function db_connect1() { global $db_name, $db_user, $db_pass; $conn = mysql_connect($db_name, $db_user, $db_pass); mysql_sele

这是config.php的代码,我将此文件包含在所有php文件中:

<?php
$db_name = 'localhost';
$db_user = 'XXXXXX';
$db_pass = 'XXXXXXXXXX';
function db_connect1()
{
    global $db_name, $db_user, $db_pass;
    $conn = mysql_connect($db_name, $db_user, $db_pass);
    mysql_select_db('test1', $conn) or die('Could not select database.');
    return $conn;
}
db_connect1();
?>

这里我需要连接另一个数据库test2。

试试这个

$db_name = 'localhost';
$db_user = 'XXXXXX';
$db_pass = 'XXXXXXXXXX';
function db_connect1($dbname) {
   global $db_name, $db_user, $db_pass;
   $conn = mysql_connect($db_name, $db_user, $db_pass);
   if($conn) {
      mysql_select_db($dbname, $conn) or die('Could not select database.');
      return $conn;
   } else {
      die("Error occurred while connect to the server.");
   }
}
每次调用函数并设置参数时

echo db_connect1('test1');
echo db_connect1('test2');

回显函数,因为您使用的是return关键字,并检查如果它返回1,则表示您的服务器连接正常

可以多次调用mysql_connect(),但如果参数相同,则需要为另一个连接传递true

<?php
$db_name = 'localhost';
$db_user = 'XXXXXX';
$db_pass = 'XXXXXXXXXX';
function db_connect1()
{
    global $db_name, $db_user, $db_pass;
    $conn1 = mysql_connect($db_name, $db_user, $db_pass);
    $conn2 = mysql_connect($db_name, $db_user, $db_pass,true);
    mysql_select_db('test1', $conn1) or die('Could not select database test1.');
    mysql_select_db('test2', $conn2) or die('Could not select database test2.');

    $conn = new stdClass();
    $conn->conn1 = $conn1;
    $conn->conn2 = $conn2;

    return $conn;
}
$conn = db_connect1();
对于数据库test2:

mysql_query('select * from tablename', $conn->conn2);
?>

mysql_query('select * from tablename', $conn->conn2);