一旦我将bindParam与PDO一起使用,网页就无法加载

时间:2014-12-27 11:12:50

标签: php pdo odbc

我正在使用我使用PDO查询的MS Access数据库的系统。当我使用基本的XAMPP安装运行它时,我构建的内容有效。

一旦我将其上传到网络服务器,我发现它无法正常工作,页面根本无法加载,没有错误日志或其他任何内容。我尝试对其进行故障排除,发现只要我注释掉bindParam行,脚本就会运行并显示我的字段数不正确。

我做了一个具有相同行为的简化测试用例:

try {

  $db = new PDO("odbc:{$database};UID={$user};PWD={$password};charset=utf8;");

  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $select = $db->prepare("SELECT * FROM customer WHERE customer.id = :id");

  $id = NULL;

  $select->bindParam(":id", $id, PDO::PARAM_INT);

  $id = 1;

  $select->execute();

  $result = $select->fetchAll();

  foreach ( $result as $row ) {

    var_dump ( $row );
    echo '<br>';

  }

} catch(PDOException $e){

  echo "The query has failed: " . $e->getMessage();

  die();

}

一旦我注释掉$select->bindParam(":id", $id, PDO::PARAM_INT);脚本实际上运行并给我一个合乎逻辑的错误。

我已经完成了一些基本的故障排除工作,例如检查PHP等版本,我发现没有任何区别。我已经找了几天的解决方案而且没有运气。

启用error_reporting(E_ALL);后我得到的错误:

  PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_sqlsrv_55_ts.dll' - %1 is not a valid Win32-application.
in Unknown on line 0
 PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_pdo_sqlsrv_55_ts.dll' - %1 is not a valid Win32-application.
in Unknown on line 0

0 个答案:

没有答案