连接到单独的'数据库连接文件'

问题描述:

我有两个php文件。一个PHP文件是我的详细信息以连接到MySQL数据库连接到单独的'数据库连接文件'

第二个PHP文件执行数据库

我的问题是,第二个PHP文件似乎并没有被actioning第一个PHP文件上选择功能。

我刚刚转向使用PDO命令而不是MYSQL命令。当我使用Require('connect_db');功能一切正常。自从我搬到PDO命令它不工作

我收到错误

Call to a member function execute() on a non object in................ 

我的代码如下: -

的connect_db文件(我还没有琴弦密码,用户,数据库: -

 try 
      { 
      $mysql_link= new PDO("mysql:host=$servername;dbname=dbname;charset=utf8",$username,$password); 
      $mysql_link->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); 
      $mysql_link->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
      echo "Connected Success"; 
      } 
      catch(PDOException $e) 
      { 
      echo $e->getMessage(); 
      } 

我的选择文件如下: -

   Require('connect_db.php');   

      $stmt=$mysql_link->prepare("SELECT cif_train_uid,cif_stp_indicator FROM schedule WHERE cif_train_uid=:cif_train_uid"); 
      $stmt->execute(array(':cif_train_uid'=>$cif_train_uid)); 
      foreach($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) { 
       echo $row['cif_train_uid']; 
       echo $row['cif_stp_indicator']; 
      } 
      $mysql_link=null; 

如果我将所有代码合并到一个文件中,它可以正常工作。 (这两个脚本都在同一个文件夹中)。所以它只是Require()函数似乎没有工作,但我不明白为什么。任何帮助感谢收到

+1

尝试在'require()'后面立即转储'$ mysql_link',看看它是否是'PDO'对象。 – Nevertheless 2014-10-30 21:42:40

+0

感谢Grimv01k你让我看到它不是一个PDO对象,原因是我上传了错误的connect_db文件..............即我上传了旧的mysql一个,而不是新的PDO一个 – user2635961 2014-10-30 21:53:50

+0

很高兴帮助,干杯! – Nevertheless 2014-10-30 21:56:25

我可以看到一个包含/必需的文件导致一个问题,当您将代码放入包含文件中不会发生的唯一原因是,当包含文件中没有开放php标记:

<?php 
^^^^^ this... 
try 
{ 
    $mysql_link= new PDO("mysql:host=$servername;dbname=dbname;charset=utf8",$username,$password); 
    ... 
+0

谢谢Jeroen。我看到了我的错误,并对Grimv01k – user2635961 2014-10-30 21:56:43

+0

@ user2635961进行了评论,那么您应该删除您的问题。 – jeroen 2014-10-30 22:01:48