1. MySQL 客户端下,操作MySQL的步骤
第一步:连接到MySQL数据库服务器 mysql –uroot -root
第二步:选择要操作的数据库(当前数据库) use db_name
第三步:设置字符集 set names gbk
第四步:执行SQL语句:增、删、改、查
增加:INSERT INTO table_name(title,author,addate) VALUES(‘标题’,’admin’,now())
删除:DELETE FROM table_name WHERE 条件表达式
修改:UPDATE table_name SET title=“新的标题” WHERE 条件表达式
查询:SELECT * FROM table_name WHERE条件 ORDER BY LIMIT
2.PHP操作MySQL的步骤(MySQL的函数)
第一步:连接 MySQL 数据库服务器
mysql_connect()
含义:连接到My sql 数据库服务器
格式:resource mysql_connect(主机地址,用户名,用户密码)
返回值:如果连接成功返回资源标识符,如果连接失败,返回false
举例: $link = mysql_connect(“ localhost ”,”root”,”root”);
exit()
含义:输出信息后中断脚本继续向下运行
格式:void exit([$string])
说明:$string参数是可选的,如果没有参数,则直接中断;如果有参数,则先输出,再中断
举例: exit(“ 连接MySQL 失败”);
header()
含义:通过header()函数,向浏览器客户端发送一些信息,如:字符集设置、网页跳转等。
格式:void header($string)
注意:header() 函数前,不能有任何的输出,包括:空格、空行、以及任何的HTML 代码。一般来说,header() 函数应该写在 第一行 代码之前。
举例:
header(“content-type:text/html;charset=utf-8”); //设置字符集
header(“location:”); //跳转网页
以上是连接MySQL失败的 系统信息 。一般情况下,不要将 系统的出错信息 暴露给“黑客”。解决的办法,可以将错误信息进行屏蔽。屏蔽用的符号是“@”符。
举例:$link = @ mysql_connect(“localhost”,”r9oot”,”root”);
mysql_get_host_info()
含义:如果连通MySQL后,显示服务器的一些信息。
格式:mysql_get_host_info()
第二步:选择要操作的数据库
提示:一个中小型网站,只有一个数据库,不会太多。
mysql_select_db()
含义:选择当前做为操作的数据库。
格式:bool mysql_select_db(db_name[,$link])
参数:db_name就是要选择的数据库名称
$link是可选项,代表当前活动连接。如果$link省略,则以上一次连接MySQL成功时的那个连接(资源)为准。
举例:mysql_select_db(“saixinjituan”)
mysql_error()
含义:显示最近一次操作MySQL的出错信息。
格式:string mysql_error()
第三步:设置 MySQL 返回的数据字符集
mysql_query(“set names utf8”)
提示:设置字符集,应在“选择数据库”之后,在其它的SQL语句执行之前。
第四步:执行 SQL 语句
mysql_query()
含义:执行SQL语句,包括任何合法的SQL语句。
格式:resource mysql_query(string $sql[,$link])
参数:$sql是任何合法的SQL语句;$link是当前活动连接
举例:
查询前10条的新闻: $result = mysql_query(“ select * from 007_news id<=10 ”);
创建一个数据库(要有权限):mysql_query(“ CREATE DATABASE IF NOT EXISTS db_name ”);
删除ID=10的记录:mysql_query(“ DELETE FROM 007_news WHERE id=10 ”);
注意:mysql_query()对于 select 、describe、show返回 资源标识符 ;对于其它的命令成功返回true,失败返回false
mysql_fetch_row()
含义:从结果集中取得 一行 ,作为 枚举 数组返回。
格式:array mysql_fetch_row(结果集$result)
返回值:是一个枚举数组,可通过print_r()来打印。
mysql_fetch_array()
含义:从结果集中取得一行,作为混合数组返回
格式:array mysql_fetch_array($result)
mysql_fetch_assoc()
含义:从结果集中取得一行,作为关联数组返回
格式:array mysql_fetch_assoc($result)
3.综合案例
企业网站的开发、制作基本分为前台和后台。
前台功能相对简单,就是读取数据(SELECT)。
前台功能相对复杂,方方面面都牵扯到了。
网站后台登录的一个流程图
网站后台的文件结构
include 文件夹:公共功能的文件夹(核心文件)
config .php 公共配置文件
conn.php 连接数据库的公共文件
functions.php 常用的函数定义文件
第一功能模块:先做登录模块
(1 )文件列表:
login.php 登录的静态页面
login_check.php 获取登录信息,与数据库进行比对
(2 )数据表:007_admin
Username:用户名
Password:密码,经过md5()函数加密码
Name:真实姓名
Tel:联系手机
Lastloginip:最后登录的客户端的IP地址
Lastlogintime:最后登录成功的时间
Loginhits:登录的总次数
Status:账号的状态,1为启用,0为禁用。
Addate:账号的创建时间
4.PHP全局数组
如何获取表单提交的数据?我们需要使用PHP全局数组来获取。
1 | $_SERVER[ ]:获取服务器的一些相关信息$_SERVER[“SERVER_NAME”],网站的域名$_SERVER[“SERVER_ADDR”],服务的IP地址$_SERVER[“REMOTE_ADDR”],客户端的IP地址$_POST[ ]:获取method=post的表单提交的值$username = $_POST[“username”];$password = $_POST[“password”];$_GET[ ]:获取 method=get 的表单提交的值$username = $_GET[“username”];$password = $_GET[“password”]; |
5.包含文件:将其它的文件代码包含(复制)进来
include(fileName)包含外部文件,如:include(“cofig.php”)
require(fileName)包含外部文件,如:require(“config.php”)
include() 和require() 的区别(面试题)
这两个函数除了在 出错时 处理方式不一样,其它方面都一样。
include()如果包含文件中存在错误代码,包含进来后,会输出一个“警告错误信息”,程序会继续向下运行。
Require()如果包含文件中存储错误代码,包含进来后,会输出一个“致命错误信息”,并终止程序继续向下运行。
6.URL 编码 函数
urlencode ():此字符串中除了 -_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的
urlencode(“非法用户”)的结果是“%E9%9D%9E%E6%B3%95%E7%94%A8%E6%88%B7”
urldecode():对使用urlencode()编码后的字符进行解码。
md5() 对字符进行加密,返回一个 32 位的字符串,单向加密。
7.mysql_num_row($result):取出返回的字录数