第 16 章 PHP 操作 MySQL

学习要点:
1.PHP 连接到 MySQL
2.增删改查
3.其他常用函数

如果你已经具有了使用 PHP、SQL 和 MySQL 的丰富经验,现在就可以把所有这些技术组合在一起。 PHP 与 MySQL 之间稳固的集成只是众多程序员采纳它的一个原因,还有一个原因就是,它如此的简单方便。

一.PHP 连接到 MySQL
这里,我们全面采用 UTF-8 编码。
设置 Zend Stduio 的编码:Window -> Preferences -> Workspace

标头设置,让火狐和 IE 保持编码统一:

<?php
header('Content-Type:text/html; charset=utf-8');
?>

 
连接 MySQL

<?php
$conn = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or
die( '数据库连接失败!错误信息:' .mysql_error());
?>

 
数据库连接参数,可以用常量存储,这样就不能修改,更加安全。

<?php
define('DB_USER' ,'root' );
define('DB_PASSWORD' ,'yangfan' );
define('DB_HOST' ,'localhost' );
define('DB_NAME' ,'school' );
?>

 
选择你所需要的数据库

<?php
@mysql_select_db(DB_NAME) or die ('数据库找不到!错误信息: ' .mysql_error());
?>

 
设置字符集,如果是 GBK,直接设置 SET NAMES GBK 即可

<?php
@mysql_query('SET NAMES UTF8') or die(' 字符集设置错误' );
?>

 
获取记录集

<?php
$query = "SELECT * FROM grade";
$result = @mysql_query($query) or die( 'SQL 语句有误!错误信息:' .mysql_error());
?>

 
输出一条记录

<?php
print_r(mysql_fetch_array($result,MYSQL_ASSOC));
?>

 
释放结果集资源

<?php
mysql_free_result($result);
?>

 
关闭数据库

<?php
mysql_close($conn);
?>

 
二.增删改查
新增数据

<?php
$query = "INSERT INTO grade (name,email,point,regdate) VALUE
(' 李炎恢','[email protected]',,NOW())" ;
@mysql_query($query) or die( '添加数据出错:' .mysql_error());
?>

 
修改数据

<?php
$query = "UPDATE grade SET name='小可爱' WHERE id=6" ;
@mysql_query($query) or die( '修改出错:' .mysql_error());
?>

 
删除数据

<?php
$query = "DELETE FROM grade WHERE id=6";
@mysql_query($query) or die( '删除错误:' .mysql_error());
?>

 
显示数据

<?php
$query = "SELECT id,name,email,point FROM grade";
$result = @mysql_query($query) or die( '查询语句出错:' .mysql_error());
while (!! $row = mysql_fetch_array($result)) {
echo $row[ 'id' ]. '----' .$row['name' ].'----' .$row ['email' ]. '----' .$row['point' ];
echo '<br />';
}
?>

 
三.其他常用函数
mysql_f etch_row() :从结果集中取得一行作为枚举数组
mysql_f etch_assoc() : 从结果集中取得一行作为关联数组
mysql_f etch_array() : 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysql_f etch_lengths () : 取得结果集中每个输出的长度
mysql_f ield_name(): 取得结果中指定字段的字段名
mysql_num_rows(): 取得结果集中行的数目
mysql_num_f ields():取得结果集中字段的数目
mysql_get_client_inf o() : 取得 MySQL 客户端信息
mysql_get_host_info(): 取得 MySQL 主机信息
mysql_get_proto_info(): 取得 MySQL 协议信息
mysql_get_server_inf o() : 取得 MySQL 服务器信息

你可能感兴趣的:(mysql)