首页 > 数据库 > MySQL > 正文

php连接MySQL的两种方式对比

2024-07-24 13:06:56
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php连接MySQL的两种方式对比,一种是原生的链接方式另外一种是PDO方式,附上示例,推荐给大家,有需要的小伙伴可以参考下

记录一下PHP连接MySQL的两种方式。

先mock一下数据,可以执行一下sql。

 

 
  1. /*创建数据库*/ 
  2. CREATE DATABASE IF NOT EXISTS `test`; 
  3. /*选择数据库*/ 
  4. USE `test`; 
  5. /*创建表*/ 
  6. CREATE TABLE IF NOT EXISTS `user` ( 
  7. name varchar(50), 
  8. age int 
  9. ); 
  10. /*插入测试数据*/ 
  11. INSERT INTO `user` (name, age) VALUES('harry', 20), ('tony', 23), ('harry', 24); 

第一种是使用PHP原生的方式去连接数据库。代码如下:

 

 
  1. <?php 
  2. $host = 'localhost'
  3. $database = 'test'
  4. $username = 'root'
  5. $password = 'root'
  6. $selectName = 'harry';//要查找的用户名,一般是用户输入的信息 
  7. $connection = mysql_connect($host, $username, $password);//连接到数据库 
  8. mysql_query("set names 'utf8'");//编码转化 
  9. if (!$connection) { 
  10. die("could not connect to the database./n" . mysql_error());//诊断连接错误 
  11. $selectedDb = mysql_select_db($database);//选择数据库 
  12. if (!$selectedDb) { 
  13. die("could not to the database/n" . mysql_error()); 
  14. $selectName = mysql_real_escape_string($selectName);//防止SQL注入 
  15. $query = "select * from user where name = '$selectName'";//构建查询语句 
  16. $result = mysql_query($query);//执行查询 
  17. if (!$result) { 
  18. die("could not to the database/n" . mysql_error()); 
  19. while ($row = mysql_fetch_row($result)) { 
  20. //取出结果并显示 
  21. $name = $row[0]; 
  22. $age = $row[1]; 
  23. echo "Name: $name "
  24. echo "Age: $age "
  25. echo "/n"

其运行结构如下:

Name: harry Age: 20

Name: tony Age: 23

第二种是使用PDO的方式去连接数据库,代码如下:

 

 
  1. <?php 
  2. $host = 'localhost'
  3. $database = 'test'
  4. $username = 'root'
  5. $password = 'root'
  6. $selectName = 'harry';//要查找的用户名,一般是用户输入的信息 
  7. $pdo = new PDO("mysql:host=$host;dbname=$database", $username, $password);//创建一个pdo对象 
  8. $pdo->exec("set names 'utf8'"); 
  9. $sql = "select * from user where name = ?"
  10. $stmt = $pdo->prepare($sql); 
  11. $rs = $stmt->execute(array($selectName)); 
  12. if ($rs) { 
  13. // PDO::FETCH_ASSOC 关联数组形式 
  14. // PDO::FETCH_NUM 数字索引数组形式 
  15. while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
  16. $name = $row['name']; 
  17. $age = $row['age']; 
  18. echo "Name: $name "
  19. echo "Age: $age "
  20. echo "/n"
  21. $pdo = null;//关闭连接 

其结果与第一种相同。

以上所述就是本文的全部内容了,希望能够对大家熟练掌握mysql有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表