php中pdo例子

下面是从其他博客看到的代码

<?php
$dbh = new PDO('mysql:host=localhost;dbname=access_control', 'root', '');  
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
$dbh->exec('set names utf8'); 
/*添加*/
//$sql = "INSERT INTO `user` SET `login`=:login AND `password`=:password"; 
$sql = "INSERT INTO `user` (`login` ,`password`)VALUES (:login, :password)";  $stmt = $dbh->prepare($sql);  $stmt->execute(array(':login'=>'kevin2',':password'=>''));  
echo $dbh->lastinsertid();  
/*修改*/
$sql = "UPDATE `user` SET `password`=:password WHERE `user_id`=:userId";  
$stmt = $dbh->prepare($sql);  
$stmt->execute(array(':userId'=>'7', ':password'=>'4607e782c4d86fd5364d7e4508bb10d9'));  
echo $stmt->rowCount(); 
/*删除*/
$sql = "DELETE FROM `user` WHERE `login` LIKE 'kevin_'"; //kevin%  
$stmt = $dbh->prepare($sql);  
$stmt->execute();  
echo $stmt->rowCount();  
/*查询*/
$login = 'kevin%';  
$sql = "SELECT * FROM `user` WHERE `login` LIKE :login";  
$stmt = $dbh->prepare($sql);  
$stmt->execute(array(':login'=>$login));  
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){     
 print_r($row);  
}  
print_r( $stmt->fetchAll(PDO::FETCH_ASSOC)); 
?>

 

注意事项:

1,链接pdo时,host和database后面不能加空格,这三大项是用逗号隔开的.

$dbh = new PDO('mysql:host=localhost;dbname=access_control', 'root', ''); 

 

2,如果不慎把这三项在一个双引号里面,php会报下面这个错误.

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'komiles'@'localhost' (using password: NO)'

posted @ 2015-08-30 01:46  KoMiles  阅读(2313)  评论(1编辑  收藏  举报