PDO
- project data object
- 连接到数据库
$db=new PDO("mysql:dbname=database;host=sever","username","password")
example:
$db=new PDO("mysql:dbname=imdb;host=localhost","root","sesame")
PDO方法 | 描述 |
query (sqI) |
查询数据库,返回匹配行(SELECT) |
exec (sql) |
修改数据库,返回受影响的行数 |
getAttribute(n) , setAttribute (n) |
获取或者设置数据库连接的各种属性 |
quote (str) |
处理过转义字符,生成可用于SQL查询的字符串 |
errorCode 0, errorInfo0 |
获取当前数据库错误的方法 |
beginTransartion() , commit() , inTransaction , rollBack() |
数据库事务处理方法 |
prepare (sql) |
产生一条SQL预处理语句 |
1.查询
$db = new PDO("mysql:dbname=imdb","root","sesame");
$row = $db->query("SELECT name FROM movies WHERE name LIKE '%oo%'");
$row = $db->query("SELECT name FROM movies WHERE name='$title'");
2.删除
$db->exec("DELETE FROM movies WHERE year=1999");
3.插入
$db->exec("INSERT INTO actors(id,first_name,last_name)VALUES(15241,'Jenifer',Auster)");
避免SQL注入
<?php
$db = new PDO("mysql:dbname=imdb","root","sesame");
$title = $db->quote($_GET["movietitle"]);
$rows = $db->query("SELECT year FROM movies WHERE name=$title;");
?>
PDOSatement方法
- PDO查询方法返回的类型为PDOStatement的对象,可以用foreach遍历
方法 | 描述 |
columnCount() |
结果中返回的列数 |
fetch() |
从结果返回下一行 |
fetchColumn(number) |
从结果返回下一列 |
rowCount() |
查询返回的行数 |