当我使用MySQLi连接数据库时,一切正常,但是使用PDO或CI数据库方法,我收到此错误:SQLSTATE [HY000] [1044]用户访问被拒绝'&#39 ; @'本地主机'数据库'事件'。
try {
$link = new PDO("mysql:host=localhost;dbname=events;");
$link->setAttribute(PDO::ATTR_MODE, PDO::ERR_MODE_EXCEPTION);
//create statement;
$statement = $link->prepare($sql);
$statement->bindParam(":username", $login_request["username"]);
$statement->bindParam(":password", $login_request["password"]);
$statement->execute();
$rows = $statement->fetchColumn();
return ($rows == 1) ? true : false;
}
catch(PDOEXCEPTION $e){
echo $e->getMessage();
}
答案 0 :(得分:1)
尝试像这样连接。 将它放在一个单独的文件connection.php中,并将其包含在您运行查询的每个页面中
try{
$connect = new PDO('mysql:host=localhost;dbname=YOUR_DB_NAME;charset=utf8', 'USERNAME', 'PASSWORD',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
die('Error connecting to database');
}
然后您可以在每个页面中运行查询
$stmt = $connect->prepare("SELECT * FROM table WHERE id=:id");
$stmt->bindParam(':id', $id);
$stmt->execute();