Table of Content
数据库操作几乎是开发中无法避免的一环,PHP 对数据库的支持很十分全面,主流数据库例如 MsSQL、MySQL、Sybase、Db2、Oracle、PostgreSQL,Access 等。
由于 MySQL 与 PHP 同属 LAMP 范畴,因此 PHP 中 MySQL 的使用可谓十分广泛。
连接数据库
mysql 版:
<?php
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
mysqli 版:
<?php
$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');
选择数据库
mysql_select_db('some_db');
设定字符编码
mysql_query("set names 'utf8'");
数据库查询
我们可以通过 mysql_query
执行查询语句,这种情况下会返回一个资源句柄(resource),通过这个资源可以得到查询结果的数组。
// 从最近的数据库中查询
$res = mysql_query('select * from t_user limit 1');
// 指定查询的数据库
// $res = mysql_query('select * from t_user limit 1', $link);
// 只获取数字索引数组:
$row = mysql_fetch_array($res);
// 等价于:
// $row = mysql_fetch_array($res, MYSQL_NUM);
// 只获取关联索引数组:
// $row = mysql_fetch_assoc($res);
// 等价于:
// $row = mysql_fetch_array($res, MYSQL_ASSOC);
var_dump($row);
Limit
$page = 2;
$n = 2;
$m = ($page - 1) * $n;
$sql = "select * from t_user limit $m, $n";
$result = mysql_query($sql);
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}
数据库插入
类似的方法执行插入语句即可实现插入。这种情况下,可以得到自增长主键的 id
值。
mysql_query("insert into t_user(name, gender) values('Jack', 'male')");
$uid = mysql_insert_id();
数据库更新
同样,执行一条更新语句即可对数据进行更新。这种情况下返回布尔值,表示更新成功与否。可以通过 mysql_affected_rows()
函数获取更新过的数据行数,如果数据没有变化则返回0。
$sql = "update t_user set name = 'Mike' where id=2 limit 1";
if (mysql_query($sql)) {
echo mysql_affected_rows();
}
数据库删除
与更新同理。
$sql = "delete from t_user where id=2 limit 1";
if (mysql_query($sql)) {
echo mysql_affected_rows();
}
关闭数据库
要关闭数据库,只需要调用 mysql_close()
函数即可。你也可能需要指定关闭某个特定数据库。
// 关闭最近的数据库
mysql_close();
// 关闭指定的数据库
// mysql_close($link);
?>