第十六章 PHP 操作MySQL

学习要点:

1.PHP 连接到MySQL

2.增删改查

3.其他常用函数

如果你已经具有了使用PHP、SQL 和MySQL 的丰富经验,现在就可以把所有这些技术

组合在一起。PHP 与MySQL 之间稳固的集成只是众多程序员采纳它的一个原因,还有一个

原因就是,它如此的简单方便。

一.PHP连接到MySQL

这里,我们全面采用UTF-8 编码。

设置Zend Stduio 的编码:Window -> Preferences -> Workspace

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

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

连接MySQL

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

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

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

选择你所需要的数据库

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

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

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

获取记录集

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

输出一条记录

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

释放结果集资源

  1. <?php mysql_free_result($result); ?>

关闭数据库

  1. <?php mysql_close($conn); ?>

二.增删改查

新增数据

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

修改数据

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

删除数据

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

显示数据

  1. <?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 />';
  2. } ?>

三.其他常用函数

mysql_fetch_row():从结果集中取得一行作为枚举数组

mysql_fetch_assoc(): 从结果集中取得一行作为关联数组

mysql_fetch_array(): 从结果集中取得一行作为关联数组,或数字数组,或二者兼有

mysql_fetch_lengths (): 取得结果集中每个输出的长度

mysql_field_name(): 取得结果中指定字段的字段名

mysql_num_rows(): 取得结果集中行的数目

mysql_num_fields():取得结果集中字段的数目

mysql_get_client_info(): 取得MySQL 客户端信息

mysql_get_host_info(): 取得MySQL 主机信息

mysql_get_proto_info(): 取得MySQL 协议信息

mysql_get_server_info(): 取得MySQL 服务器信息

注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

原文: https://wizardforcel.gitbooks.io/liyanhui-tutorials/content/101.html