表类型总结
描述现实世界对象的简单表。这些表也可能包含其他简单对象的键,它们之间有一个一对一或一对多的关系。例如,一个客户可能有多个订单,但是一个订单只对应一个客户。这样就可以在订单里设计一行,使该行指向客户
描述两个现实世界对象的多对多关系的关联表,多对多关系例如Orders与Books的关系。通常,这些表是与现实世界某种事务处理相联系的
Web数据库事务处理步骤
- Web浏览器发出http请求,请求特定Web页面
- Web服务器收到.php文件的请求,获取文件并将它传到PHP引擎,并处理
- PHP引擎开始解析脚本,连接数据库,进行操作
- Mysql服务器接受查询命令并处理,返回到PHP引擎
- PHP引擎完成脚本运行,将输出的内容返回到Web服务器
- 浏览器收到http响应,进行渲染
连接方式
PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO)
- PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展。MySQL扩展提供了一个面向过程的接口。
- PHP的mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MySQL4.1.3或更新版本中新的高级特性,面向对象接口。
- PDO是PHP Data Objects的缩写,是PHP应用中的一个数据库抽象层规范。(ThinkPHP框架基于PDO方式连接数据库)
PHP与Mysql扩展
数据库函数
- 连接函数:
mysql_connect(servername,username,password);
- 关闭函数:
mysql_close ($con)
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// some code
mysql_close($con);
?>
- 选择数据库:
mysql_select_db("my_db", $con);
- 执行SQL语句
mysql_query($sql);
<?php
$mysql_conf = array(
'host' => '127.0.0.1:3306',
'db' => 'test',
'db_user' => 'root',
'db_pwd' => 'root',
);
$mysql_conn = @mysql_connect($mysql_conf['host'], $mysql_conf['db_user'], $mysql_conf['db_pwd']);
if (!$mysql_conn) {
die("could not connect to the database:\n".mysql_error());//诊断连接错误
}
mysql_query("set names 'utf8'");//编码转化
$select_db = mysql_select_db($mysql_conf['db']);
if (!$select_db) {
die("could not connect to the db:\n" . mysql_error());
}
$sql = "select * from user;";
$res = mysql_query($sql);
if (!$res) {
die("could get the res:\n" . mysql_error());
}
while ($row = mysql_fetch_assoc($res)) {
print_r($row);
}
mysql_close($mysql_conn);
?>
网友评论