包括来自单独文件的数据库连接


Including a database connection from a separate file

我目前有一个数据库文件,用于建立数据库连接:

db.php:

    $dbs = array(
    "127.0.0.1",
    "127.0.0.3",
    "127.0.0.2",
    );
if(!$con){
          $con = mysql_connect($dbs[rand(0,2)],"user_login","password") or die('Could not connect: ' . mysql_error());    
        }

然而,当我有时尝试包含它并进行查询时,它会返回一个空白结果:

  include("db.php");
    mysql_select_db("database_table", $con);
    $result = mysql_query("SELECT * FROM users where email='admin@test.com'");
      while($row = mysql_fetch_array($result)){$id =  $row['email'];break;}

奇怪的是,如果我修改初始db.php以这样连接,它就可以工作(不随机化):db.php:

if(!$con){
          $con = mysql_connect("127.0.0.1","user_login","password") or die('Could not connect: ' . mysql_error());    
        }

这里面有什么解释吗?他们之间的联系方式有区别吗?

感谢

首先我会打开错误检查。

您可以通过在php文件的顶部添加以下内容来做到这一点:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

或者通过全局更改它:php.ini 中的display_errors = On

这将输出错误。如果你想不通,那就试试下面的方法:


然后检查您是否可以像使用那样连接到所有数据库

if(!$con){
      $con = mysql_connect("127.0.0.1","user_login","password") or die('Could not connect: ' . mysql_error());    
    }

然后我会检查他们是否都有相同的桌子。

如果这是正确的,我会检查你的输出:

if(!$con){
      $con = mysql_connect($dbs[rand(0,2)],"user_login","password") or die('Could not connect: ' . mysql_error());    
    }

它真的按预期工作吗?