PDO 是什么?
按照我的理解,就是 PHP内置 链接 数据库的扩展接口
也是解决 mysql注入的很好方案了
通过PHP 怎么 链接 数据库呢?
$dsn = "mysql:host=$dbhost;port=$dbport;dbname=$dbname";
$db = new PDO($dsn, $dbuser, $dbpw);
链接 好数据库 后 执行一条 SQL 语句
$sql = "SELECT * FROM `user` WHERE uid=:uid";
try
{
$stmt = $db->prepare($sql);
$stmt->bindParam(':uid', 10000, PDO::PARAM_INT);
$stmt->execute();
$games = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();
$stmt = null;
}
catch(PDOException $e)
{
return array('code' => -1, 'msg' => $e->getMessage());
}
这样就可以执行 一次 查询了。
prepare 预处理
:uid 表示 待绑定的值,这样有什么好处呢?
这样可以避免 数据库 注入,通过这样的写法,SQL语句已经解析好后,才重新绑定对应的值。这样就不会 给 ;、unio 等 特殊字符机会了。
bindParam: 就是重新绑定值 fetchAll: 就是取出全部结果