MySQL客户端下,操作数据库的步骤
第一步:连接到MySQL数据库服务器
第二步:选择要操作的数据库
第三步:设置当前环境的显示字符集
第四步:执行SQL语句,对数据表进行查询
PHP操作MySQL的步骤
第一步:连接MySQL数据库服务器 mysql_connect( )
mysql_error()
exit()或die()
第二步:选择当前要操作的数据库 mysql_select_db( )
第三步:设置返回数据的字符集
第四步:SQL语句操作
Windows下恢复MySQL 数据库
【PHP连接MySQL 初步】显示一行
【PHP连接MySQL 初步】显示所有
要使用操作数据库的命令,必须要有权限。
2、从结果集中取出一行作为枚举数组返回
【php网页混排】
3、从结果集中取得一行作为混合数组返回
4、从结果集中取得一行作为关联数组返回,直接返回字符下标
5、取得返回的结果集中记录总数
公共配置文件实践
1、包含文件include( )和require( )
2、通过全局变量数组来获取表单提交值
3、trim()
4、header()
5、md5()
第一步:连接到MySQL数据库服务器
mysql.exe�Chlocalhost �Curoot -proot
第二步:选择要操作的数据库
usedb_name;
第三步:设置当前环境的显示字符集
Setnames gbk; //在MySQL客户端只能使用gbk,别的编码都不可以
第四步:执行SQL语句,对数据表进行查询
增加:INSERT INTO table_name(字段1,字段2,字段3) VALUES(值1,值2,值3)
删除:DELETE FROM table_name [WHERE条件]
删除整个表中的记录:TRUNCATE table_name
修改:UPDATE table_name SET 字段1=值1,字段2=值2 [WHERE条件]
查询:SELECT 字段列表|* FROM table_name [WHERE条件][ORDER BY 字段][LIMIT限定记录]
第一步:连接MySQL数据库服务器mysql_connect( )
语法结构:resource $link =mysql_connect($db_host,$db_user,$db_pwd)
参数说明:
$db_host:指定要连接的MySQL服务器的主机名或IP地址,如:localhost:3306
$db_user:指定用户名,默认root
$db_pwd:指定用户密码,默认root
返回值:如果连接MySQL成功,将返回一个资源标识符$link;如果连接失败,返回false。
举例:$link =mysql_connect(“localhost”,”root”,”root”);
注意:资源类型的数据,转成布尔型,一律为true。
屏蔽PHP的错误信息显示:使用@符号。
$link = @mysql_connect(“localhost”,”root”,”root”); //屏蔽了mysql_connect()的系统错误信息
mysql_error()
语法:stringmysql_error();
功能:显示上一次MySQL的出错文本信息
exit()或die()
功能:输出一个消息并且退出当前脚本
语法:void exit ([ string$string
] )
说明:先输出一个信息,然后再中止脚本向下运行。
第二步:选择当前要操作的数据库mysql_select_db( )
语法结构:bool mysql_select_db( string$database_name
[, resource$ link_identifier
] )
返回值:成功选择数据库返回true,选择数据库失败返回false
参数说明:
$database_name:指定当前要操作数据库名称;
[$link_identifier]:是可选项,指定当前的活动链接标识符。当前活动链接只有一个。
如果省略,则使用上一次连通数据库的标识符。
举例:mysql_select_db(“saixinjituan”,$link)
第三步:设置返回数据的字符集
mysql_query(“set names utf8”);
第四步:SQL语句操作
1、执行SQL语句
功能:发送一条 MySQL 查询
语法:resource mysql_query( string$query
[, resource$link_identifier
= NULL ] )
返回值:
如果执行SELECT、SHOW、DESCRIBE语句成功返回资源标识符(resoure),如果失败返回false;
其它SQL语句(DELETE、UPDATE、Insert等)执行成功将返回true,执行失败将返回false
举例:
$sql = “CREATEDATABASE IF NOT EXISTS db_name”;
$sql = “SELECT * FROM 007_newsWHERE id<100”;
$result = mysql_query($sql);
【入门】Windows下恢复MySQL 数据库
可以在11.11.ocsweb.sql.bak中看到有自己创建ocsweb的这条命令,那么我们就没有必要手动去为它创建这个库了。
【我并没有为MySQL配置环境变量】
【切换到MySQL的目录】 C:\Users\lcl.DESKTOP-KG20EG9>cdC:\Program Files (x86)\phpStudy\MySQL\bin 【执行恢复,32M文件大约30秒】 C:\Program Files(x86)\phpStudy\MySQL\bin>mysql -uroot -p <E:\temp\php\www\11.11.ocsweb.sql.bak Enter password: **** 【查看结果】 C:\Program Files(x86)\phpStudy\MySQL\bin>mysql -uroot -p Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 19 Server version: 5.0.91-community-nt MySQLCommunity Edition (GPL) Type 'help;' or '\h' for help. Type '\c' toclear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | ocsweb | | test | +--------------------+ 4 rows in set (0.00 sec)
【PHP连接MySQL 初步】
[root@nb0001 study]# cat index_09.php <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> </head> <body> <?php //数据库配置 define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PWD","asset"); define("DB_NAME","ocsweb"); //用@屏蔽PHP的出错 if (!$link =@mysql_connect(DB_HOST,DB_USER,DB_PWD)) { exit ("连接".DB_HOST."失败"); } if (!mysql_select_db(DB_NAME)) { exit ("选择数据".DB_NAME."库失败"); } mysql_query("set names utf8"); $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS from networks"); $row=mysql_fetch_assoc($result); dump($row); function dump($var){ echo "<pre>"; print_r ($var); echo "</pre><hr>"; } ?> </body> </html> [root@nb0001 study]
【PHP连接MySQL 初步】显示所有
[root@nb0001 study]# cat index_09.php <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> </head> <body> <?php //数据库配置 define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PWD","asset"); define("DB_NAME","ocsweb"); //用@屏蔽PHP的出错 if (!$link =@mysql_connect(DB_HOST,DB_USER,DB_PWD)) { exit ("连接".DB_HOST."失败"); } if (!mysql_select_db(DB_NAME)) { exit ("选择数据".DB_NAME."库失败"); } mysql_query("set names utf8"); $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS from networks"); while($row=mysql_fetch_assoc($result)){ dump($row); } function dump($var){ echo "<pre>"; print_r ($var); echo "</pre><hr>"; } ?> </body> </html> [root@nb0001 study]#
要使用操作数据库的命令,必须要有权限。
2、从结果集中取出一行作为枚举数组返回
语法:array mysql_fetch_row($result,$link)
功能:从结果集中取出一行,作为枚举数组返回,并将光标移到下一行的开始处,没有更多数据返回,则返回false。
举例:$arr = mysql_fetch_row($result)
提示:通过while循环,可以取出所有的数据,主要代码如下:
//数据库查询
$sql = "select id,title,author,source,hits,addate from007_news where id<50";
$result = mysql_query($sql);
//从结果集中,取出一行数据
while($row=mysql_fetch_row($result))
{
$arr[] =$row; //将循环的每个$row数组,存到$arr中去,生成一个二维数组
}
dump($arr);
【枚举返回】
[root@nb0001 study]# cat index_09.php <!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> </head> <body> <?php //数据库配置 define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PWD","asset"); define("DB_NAME","ocsweb"); //用@屏蔽PHP的出错 if (!$link =@mysql_connect(DB_HOST,DB_USER,DB_PWD)) { exit ("连接".DB_HOST."失败"); } if (!mysql_select_db(DB_NAME)) { exit("选择数据".DB_NAME."库失败"); } mysql_query("set names utf8"); $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS from networks"); while($row=mysql_fetch_row($result)){ dump($row); } function dump($var){ echo "<pre>"; print_r ($var); echo "</pre><hr>"; } ?> </body> </html> [root@nb0001 study]#
【php网页混排】
[root@nb0001 study]# cat index_09.php <?php header("content-type:text/html;charset=utd-8"); //网页编码默认GBK显示,申明网页编码是UTF-8,为下面的exit输出准备,不然可能乱码 //数据库配置 define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PWD","root"); define("DB_NAME","ocsweb"); //用@屏蔽PHP的出错 if (!$link =@mysql_connect(DB_HOST,DB_USER,DB_PWD)) { exit ("连接".DB_HOST."失败"); } if (!mysql_select_db(DB_NAME)) { exit ("选择数据".DB_NAME."库失败"); } //设置返回字符集 mysql_query("set names utf8"); //构建本页面的功能 $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS,IPGATEWAY,IPSUBNET from networks limit20"); ?> <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> <style type="text/css"> td,th{padding:5px;color:#444;font-size:14px;border:1pxsolid #ccc;} </style> </head> <body> <table width="800"style="border-collapse:collapse;" border="1"> <tr> <th>ID</th> <th>type</th> <th>mac</th> <th>ip</th> <th>mask</th> <th>lan</th> </tr> <?php while($row=mysql_fetch_row($result)) { ?> <tr> <td ><?php echo $row[0] ?></td> <td><?php echo $row[1] ?></td> <td><?php echo $row[2] ?></td> <td><a href="javascript:void(0)"><?phpecho $row[3] ?></td> <td><?php echo $row[4] ?></td> <td><?php echo $row[5] ?></td> </tr> <?php }?> 03,0023 </table> </body> </html>
3、从结果集中取得一行作为混合数组返回
语法:$arrRow = mysql_fetch_array($result[,$type])
参数:
$result:是指执行完SQL语句后返回的结果集;
$type:指数组的类型,取值:MYSQL_BOTH、MYSQL_NUM、MYSQL_ASSOC
MYSQL_NUM:是一个常数,必须大写,返回的数据是枚举数组;
MYSQL_ASSOC:返回的是关联数组,数组下标是字符的;
MYSQL_BOTH:同时返回混合数组
提示:默认返回的是混合数组
举例:$arrRow = mysql_fetch_array($result,MYSQL_ASSOC)
<?php header("content-type:text/html;charset=utd-8"); //网页编码默认GBK显示,申明网页编码是UTF-8,为下面的exit输出准备,不然可能乱码 //数据库配置 define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PWD","root"); define("DB_NAME","ocsweb"); //用@屏蔽PHP的出错 if (!$link =@mysql_connect(DB_HOST,DB_USER,DB_PWD)) { exit ("连接".DB_HOST."失败"); } if (!mysql_select_db(DB_NAME)) { exit ("选择数据".DB_NAME."库失败"); } //设置返回字符集 mysql_query("set names utf8"); //构建本页面的功能 $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS,IPGATEWAY,IPSUBNET from networks limit20"); ?> <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> <style type="text/css"> td,th{padding:5px;color:#444;font-size:14px;border:1pxsolid #ccc;} </style> </head> <body> <table width="800"style="border-collapse:collapse;" border="1"> <tr> <th>ID</th> <th>DESCRIPTION</th> <th>MACADDR</th> <th>IPADDRESS</th> <th>IPGATEWAY</th> <th>IPSUBNET</th> </tr> <?php //使用字符下标 while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ // echo"<pre>"; // print_r($row); // echo"</pre>"; ?> <tr> <!--PHP 数组的引用,使用字符下标--> <td ><?php echo$row["ID"] ?></td> <td><?php echo$row["DESCRIPTION"] ?></td> <td><?php echo $row["MACADDR"] ?></td> <td><ahref="javascript:void(0)"><?php echo$row["IPADDRESS"] ?></td> <td><?php echo$row["IPGATEWAY"] ?></td> <td><?php echo$row["IPSUBNET"] ?></td> </tr> <?php }?> </table> </body> </html>
4、从结果集中取得一行作为关联数组返回,直接返回字符下标
语法:$arrRow =mysql_fetch_assoc($result)
含义:返回的直接就是关联数据,没有带参数
<?php header("content-type:text/html;charset=utd-8"); //网页编码默认GBK显示,申明网页编码是UTF-8,为下面的exit输出准备,不然可能乱码 //数据库配置 define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PWD","root"); define("DB_NAME","ocsweb"); //用@屏蔽PHP的出错 if (!$link = @mysql_connect(DB_HOST,DB_USER,DB_PWD)){ exit ("连接".DB_HOST."失败"); } if (!mysql_select_db(DB_NAME)) { exit ("选择数据".DB_NAME."库失败"); } //设置返回字符集 mysql_query("set names utf8"); //构建本页面的功能 $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS,IPGATEWAY,IPSUBNET from networks limit20"); ?> <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> <style type="text/css"> td,th{padding:5px;color:#444;font-size:14px;border:1pxsolid #ccc;} </style> </head> <body> <table width="800"style="border-collapse:collapse;" border="1"> <tr> <th>ID</th> <th>DESCRIPTION</th> <th>MACADDR</th> <th>IPADDRESS</th> <th>IPGATEWAY</th> <th>IPSUBNET</th> </tr> <?php //使用字符下标 while($row=mysql_fetch_assoc($result)) { // echo"<pre>"; // print_r($row); // echo"</pre>"; ?> <tr> <!--PHP 数组的引用,使用字符下标--> <td ><?php echo$row["ID"] ?></td> <td><?php echo$row["DESCRIPTION"] ?></td> <td><?php echo$row["MACADDR"] ?></td> <td><a href="javascript:void(0)"><?phpecho $row["IPADDRESS"] ?></td> <td><?php echo$row["IPGATEWAY"] ?></td> <td><?php echo$row["IPSUBNET"] ?></td> </tr> <?php }?> </table> </body> </html>
5、取得返回的结果集中记录总数
语法:int $records = mysql_num_rows($result)
提示:必须在结果集出现后,才能作统计,
统计返回数据数量
<?php header("content-type:text/html;charset=utd-8"); //网页编码默认GBK显示,申明网页编码是UTF-8,为下面的exit输出准备,不然可能乱码 //数据库配置 define("DB_HOST","localhost"); define("DB_USER","root"); define("DB_PWD","root"); define("DB_NAME","ocsweb"); //用@屏蔽PHP的出错 if (!$link =@mysql_connect(DB_HOST,DB_USER,DB_PWD)) { exit ("连接".DB_HOST."失败"); } if (!mysql_select_db(DB_NAME)) { exit ("选择数据".DB_NAME."库失败"); } //设置返回字符集 mysql_query("set names utf8"); //构建本页面的功能 $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS,IPGATEWAY,IPSUBNET from networks limit13"); $recoder=mysql_num_rows($result); //显示返回结果总数 //echo "$recoder"; //exit(); ?> <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> <style type="text/css"> td,th{padding:5px;color:#444;font-size:14px;border:1pxsolid #ccc;} </style> </head> <body> <!--网页头部输出记录数--> <h2> 共有<?php echo"$recoder"; ?>条记录 </h2> <table width="800"style="border-collapse:collapse;" border="1"> <tr> <th>ID</th> <th>DESCRIPTION</th> <th>MACADDR</th> <th>IPADDRESS</th> <th>IPGATEWAY</th> <th>IPSUBNET</th> </tr> <?php //使用字符下标 while($row=mysql_fetch_assoc($result)) { // echo"<pre>"; // print_r($row); // echo"</pre>"; ?> <tr> <!--PHP 数组的引用,使用字符下标--> <td ><?php echo$row["ID"] ?></td> <td><?php echo$row["DESCRIPTION"] ?></td> <td><?php echo $row["MACADDR"] ?></td> <td><ahref="javascript:void(0)"><?php echo$row["IPADDRESS"] ?></td> <td><?php echo$row["IPGATEWAY"] ?></td> <td><?php echo$row["IPSUBNET"] ?></td> </tr> <?php }?> </table> </body> </html>
一、网站的文件结构
admin:网站后台管理目录
css:是网站前台的CSS文件目录
images:是前台的images目录
index.php:是网站前台的首页文件
footer.php:是公共的页脚文件
header.php:是公共的页头文件
news.php:是新闻列表文件
newsdetail.php:是一条新闻的内容页面
saixinjituan.sql:是数据表以及网站数据的文件
一个网站分为前台功能和后台功能,前台就是读取数据,后台功能比较复杂:增、删、改、查等。
二、网站后台的流程图
三、后台公共文件(全局)的定义
公共文件位置:admin/目录下
config.php:数据库配置信息,以及一些全局变量的设置;
conn.php:连接数据库的代码文件;
functions.php:常用的功能函数的定义文件
公共配置文件实践
vim config.php <?php $db_host = "localhost"; $db_user = "root"; $db_pwd = "root"; $db_name = "ocsweb"; ?>
vim functions.php <?php functiongetlink($db_host,$db_user,$sb_pwd,$db_name){ //连接数据库 $link=@mysql_connect($db_host,$db_user,$sb_pwd); if(!$link){ echo"MySQL数据库连接失败,请与[email protected]联系"; exit(); } //选择数据库 if(!mysql_select_db($db_name)){ echo"MySQL 数据库选择失败,请与[email protected]联系"; exit(); } //设置数据库返回字符集 mysql_query("setnames utf8"); //将连接表示符返回 return$link; } ?>
vim conn.php <?php //包含文件 require "config.php"; require "functions.php"; //连接数据库 $link=getlink($db_host,$db_user,$db_pwd,$db_name); $result=mysql_query("SELECTID,DESCRIPTION,MACADDR,IPADDRESS,IPGATEWAY,IPSUBNET from networks limit13"); $recoder=mysql_num_rows($result); ?> <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8" /> <title>网页</title> <style type="text/css"> td,th{padding:5px;color:#444;font-size:14px;border:1pxsolid #ccc;} </style> </head> <body> <!--网页头部输出记录数--> <h2> 共有<?php echo"$recoder"; ?>条记录 </h2> <table width="800"style="border-collapse:collapse;" border="1"> <tr> <th>ID</th> <th>DESCRIPTION</th> <th>MACADDR</th> <th>IPADDRESS</th> <th>IPGATEWAY</th> <th>IPSUBNET</th> </tr> <?php //使用字符下标 while($row=mysql_fetch_assoc($result)) { // echo"<pre>"; // print_r($row); // echo"</pre>"; ?> <tr> <!--PHP 数组的引用,使用字符下标--> <td ><?php echo$row["ID"] ?></td> <td><?php echo$row["DESCRIPTION"] ?></td> <td><?php echo$row["MACADDR"] ?></td> <td><ahref="javascript:void(0)"><?php echo$row["IPADDRESS"] ?></td> <td><?php echo$row["IPGATEWAY"] ?></td> <td><?php echo$row["IPSUBNET"] ?></td> </tr> <?php }?> </table> </body> </html>
知识点补充:
1、包含文件include( )和require( )
语法: include(“include/config.php”)
include “include/config.php”
require(“include/config.php”)
require“include/config.php”;
说明:将外部文件的代码包含到当前文件中来运行。
Include和require的主要区别是:它们除在处理错误方面不一致外,其它方面一模一样。Include当包含文件中含有错误时,程序会继续向下运行;而require( )当包含文件中存在错误时,会立即输出一个致命错误信息,并中止程序继续运行。
2、通过全局变量数组来获取表单提交值
$_GET[]:获取method=get 的表单中元素的提交值;比如:$username = $_GET[“username”];
$_POST[]:获取method=post 的表单中元素的提交值;比如:$username= $_POST[“username”];
3、trim()
功能:去除字符串首尾处的空白字符(或者其他字符)
语法:string trim ( string$str
[, string$charlist
= " \t\n\r\0\x0B" ] )
4、header()
功能:主要用于告诉客户端以什么编码显示网页,网页跳转。
语法:void header(设置信息)
举例:设置客户端用什么字符集显示 header(“content-type:text/html;charset=utf-8”)
网页跳转:header(“location:http://www.sina.com.cn”)
注意:header()函数前不能有任何内容输出,包括空白,放在网页的第一行执行。
5、md5()
功能:对字符串进行加密,以32位字符返回。
语法:string md5(“abc”)
提示:因为md5的加密算法现在已经不再复杂。