PHP数据库连接对象PDO的创建与使用详解
PHP的学习其实也没有太多的难点,最重要的就是掌握PHP操作数据库的方法即可,而其它的PHP函数只要多写写记住了它们的使用方式和场景就没大问题了。
今天翻看以前学习PHP时的笔记看到了当时写的PDO对象的创建和使用代码,还是挺感触的,现在就再来写一遍代码,作为这次的心情笔记吧,如果能帮到正在学习PHP开发的同学,那就更好不过了!
PHP
try{
$dsn = 'mysql:host=localhost;dbname=shop';
$username = 'root';
$pwd = 'root';
$pdo = new PDO( $dsn, $username, $pwd );
//这里还可以写一些PHP操作数据库的语法,如:
//设置编码
$pdo->exec('set names utf8');
//构建sql语句
$sql = "INSERT student (name,email) VALUES ('李四','123@qq.com')";
//运行
$pdo->exec($sql);
}catch( PDOException $e ) {
//抛出错误信息
echo $e->getMessage();
}
这上面只是PDO的基本使用详解示例,在真正上线的开发中,我们是不会这样子做的,而是将数据库连接代码单独写到一个connect.php(这个文件名是我刚学开发时取的,一般都用config.php或db.php之类的,其实都无所谓了,能让人看懂就好)文件中,然后再在要使用到php操作数据库的地方加载这个文件即可,如下图我以前的学习代码:
<?php
include _DIR_.'/public/include/connect.php';
if(isset($_COOKIE['user_ name'])){
$sql = 'SELECT * FROM 'user' WHERE 'user_name' =:user_name AND 'user_pw' =:password';
$user_name = $_COOKIE['user_name'];
$password = $_COOKIE['user_ pw'];
$stmt= $pdo->prepare($sql);
$stmt->bindParam(parameter:':user_name &variable:$user_name);
$stmt->bindParam(parameter:':password', &variable: $password);
$stmt->execute();
if($stmt->fetch(fetch_style: PDO::FETCH_ASSOC)!= false){
echo '<script> alert(“您已登录"); window.location.href="admin.php"; </script>';
}else {
echo '<script> alert(“你的信息有误,请重新登录") ;window.location.href= "login.php";</script>';
setcookie(name: 'user_name',value: null,expire: time() -3600);
setcookie(name: 'user_pw',value: null,expire: time()-3600);
exit;
}
}else if(count($_POST)===2 && isset($_COOKIE['user_name'])===false){
$email=$_POST['email'];
$password=$_POST['password'];
$sql='SELECT * FROM 'user' WHERE 'email' =:email AND 'user_pw' =:password ';
// LIMIT 1提取数量为1.ORDER BY user_id DESC按照user_id的倒序排列。
$stmt=$pdo->prepare($sql);
$date=['email'=>$email, 'password '=>$password];
$stmt->execute($date);
$user=$stmt->fetch( fetch_style: PDO::FETCH_ASSOC);
if($user===false){
echo '<script>alert(“账号或者密码错误,请重施输入");history.back()</script>';
//window.location.href="login.php";JS跳转到指定页面的方法,histroy.back() JS中跳转到上一个页面
}else{
setcookie( name: 'user_name',$user['user_name']);
setcookie( name: 'user_pw',$user['user_pw']);
echo '<script>alert("账号登录成功");window.location.href="admin.php"</script>';
}else{
echo '<script> alert(“请先登录");window.location.href="login.php"</script>';
}
扫描二维码推送至手机访问。
版权声明:本文由爱一流网发布,如需转载请注明出处。
免责声明:本站所有资源搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。