dbConnector.php
<?php
class DbConnector {
var $link;
function DbConnector(){
try{
$this->link = new PDO('mysql:host=127.0.0.1;dbname=system', 'root', '123456');
$this->link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->link->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
}catch(PDOException $e){
die("this is not connected");
}
}
//*** Function: query, Purpose: Execute a database query ***
// this function fail to connect
function query($query) {
try{
$this->link->prepare($query);
}catch(PDOException $e){
die("fail to prepare");
}
return $this->link->prepare($query);
}
}
?>
check.php
<?php
include("dbConnector.php");
$connector = new DbConnector();
$username ='';
$query = "SELECT air_users FROM USER_NAME WHERE username = ? LIMIT 1";
$result = $connector->query($query);
$result->execute(array($username));
$num = $result->rowCount();
$num = $result->fetch();
echo $num;
// mysql_close();
?>
我收到了返回错误
未能准备
我做错了什么?我仔细检查了它,但无法弄清楚错误,我无法将其连接到我的数据库。
它只是给我一个错误。
答案 0 :(得分:0)
你使用了try / catch,这很棒,但你的问题是你只是回应有问题,而不是问题所在。
如果您从异常中打印出错误消息,我相信您会获得更多关于它为什么不准备的信息:
try {
$this->link->prepare($query);
} catch(PDOException $e){
die($e->getMessage());
}
或者只是临时删除try / catch块并让异常消失并在测试时显示在浏览器中。