学习要点:
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 服务器信息