首页 » SEO优化 » phppdomysqli机能技巧_PDO和Mysqli比拟分析与归纳总结

phppdomysqli机能技巧_PDO和Mysqli比拟分析与归纳总结

访客 2024-11-04 0

扫一扫用手机浏览

文章目录 [+]

连接办法

// PDO$pdo = new PDO(\"大众mysql:host=localhost;dbname=database\"大众, 'username', 'password'); // mysqli面向过程$mysqli = mysqli_connect('localhost','username','password','database'); // mysqli面向工具$mysqli = new mysqli('localhost','username','password','database');对数据库的支持方面

pdo多种支持

代码表现

phppdomysqli机能技巧_PDO和Mysqli比拟分析与归纳总结

var_dump(PDO::getAvailableDrivers());

mysqli 单一

phppdomysqli机能技巧_PDO和Mysqli比拟分析与归纳总结
(图片来自网络侵删)
参数绑定POD办法

$params = array(':username' => 'test', ':email' => $mail, ':last_login' => time() - 3600); $pdo->prepare(' SELECT FROM users WHERE username = :username AND email = :email AND last_login > :last_login'); $pdo->execute($params);mysqli办法$query = $mysqli->prepare(' SELECT FROM users WHERE username = ? AND email = ? AND last_login > ?'); $query->bind_param('sss', 'test', $mail, time() - 3600);$query->execute();工具映射

假设我们有一个类,是如下这样

class User { public $id; public $first_name; public $last_name; public function info() { return '#'.$this->id.': '.$this->first_name.' '.$this->last_name; }}

看看2者的办法

$query = \"大众SELECT id, first_name, last_name FROM users\"大众; // PDO$result = $pdo->query($query);$result->setFetchMode(PDO::FETCH_CLASS, 'User'); while ($user = $result->fetch()) { echo $user->info().\"大众\n\"大众;}// MySQLI, procedural wayif ($result = mysqli_query($mysqli, $query)) { while ($user = mysqli_fetch_object($result, 'User')) { echo $user->info().\"大众\n\公众; }}// MySQLi, object oriented wayif ($result = $mysqli->query($query)) { while ($user = $result->fetch_object('User')) { echo $user->info().\公众\n\"大众; }}安全方面

二者都可以防止sql注入

看下代码

// PDO, \公众manual\"大众 escaping$username = PDO::quote($_GET['username']); $pdo->query(\公众SELECT FROM users WHERE username = $username\"大众); // mysqli, \"大众manual\"大众 escaping$username = mysqli_real_escape_string($_GET['username']); $mysqli->query(\公众SELECT FROM users WHERE username = '$username'\"大众);预处理机制

// PDO, prepared statement$pdo->prepare('SELECT FROM users WHERE username = :username');$pdo->execute(array(':username' => $_GET['username'])); // mysqli, prepared statements$query = $mysqli->prepare('SELECT FROM users WHERE username = ?');$query->bind_param('s', $_GET['username']);$query->execute();总结

推举大家用pdo,由于pdo的强大之处是显而易见的,支持多种数据库,还有参数绑定是特色。

————————————————

原文链接:https://blog.csdn.net/dzyweer/article/details/79751174

相关文章

语言枚举类型,探索人类语言多样性的奥秘

语言是人类交流的重要工具,也是人类文明发展的重要标志。随着全球化进程的不断推进,各种语言枚举类型应运而生。本文将从语言枚举类型的定...

SEO优化 2024-12-29 阅读0 评论0

语言栏消失,科技变革下的挑战与机遇

近年来,随着科技的飞速发展,智能手机、平板电脑等移动设备的普及,语言栏这一功能已经成为了我们日常生活中不可或缺的一部分。近期有消息...

SEO优化 2024-12-29 阅读0 评论0

语言混合现象的多元魅力与挑战

语言混合作为一种跨文化交流的现象,逐渐成为世界范围内语言学研究的热点。它不仅丰富了语言的多样性,也反映了全球化背景下人类社会的交流...

SEO优化 2024-12-29 阅读0 评论0

语言是思想的载体,介绍语言与思想的关系

在人类文明的进程中,语言一直扮演着至关重要的角色。它不仅是人们沟通交流的工具,更是承载着人类思想的载体。自古以来,人们就深知语言与...

SEO优化 2024-12-29 阅读0 评论0