<?php
$dbtype = 'mysql';
$mysql_host = "localhost";
$mysql_database = "mydb";
$mysql_user = "root";
$mysql_password = "";
try {
$db = new PDO ( $dbtype . ':host=' . $mysql_host . ';dbname=' . $mysql_database, $mysql_user, $mysql_password, array (PDO::ATTR_PERSISTENT => true ) );
return $db;
} catch ( PDOException $e ) {
return false;
}
?>
以上是我的db.php
<?php
require db.php";
...
global $db;
$stmt = $db->prepare ( "INSERT INTO quote (title, contactname) VALUES (:a, :b);" );
我实际上能够在我的IDE(ZendStudo wamp服务器)下正确运行它,但是一旦我上传到主机服务器,我就遇到了这个错误。任何人面临同样的问题可以指导我如何解决?
答案 0 :(得分:0)
我可以有很多理由,但有一点是,你有一个PDOException,然后是$db == false
,它会解释错误信息。
尝试检查$db
是否已正确设置为PDO
或false
。
答案 1 :(得分:0)
除非您明确指示它执行此操作,否则PDO不会抛出异常:
$db = new PDO(...);
$db ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);