php调用非对象问题的成员函数prepare()
上面是我的db.phpphp调用非对象问题的成员函数prepare(),php,database,Php,Database,上面是我的db.php <?php $dbtype = 'mysql'; $mysql_host = "localhost"; $mysql_database = "mydb"; $mysql_user = "root"; $mysql_password = ""; try { $db = new PDO ( $dbtype . ':host=' . $mysql_host . ';dbname=' . $mysql_data
<?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;
}
?>
实际上,我可以在IDE ZendStudo wamp服务器下正确运行它,但一旦我上传到主机服务器,我就遇到了这个错误。以前遇到过同样问题的任何人都可以指导我如何解决 可能有很多原因,但有一个明显的原因是您有一个PDOException,然后$db==false,这将解释错误消息
尝试检查$db是否正确设置为PDO或false。PDO不会引发异常,除非您明确指示它这样做:
<?php
require db.php";
...
global $db;
$stmt = $db->prepare ( "INSERT INTO quote (title, contactname) VALUES (:a, :b);" );
如果db connect代码引发异常,那么返回false的是什么?使用phpinfoThank检查PDO扩展谢谢,$db从未正确设置,因为传入的值错误。
$db = new PDO(...);
$db ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);