视频,ppt,示例文件,离线手册下载地址:https://s.yunio.com/2Nlwqu [密码:sdtclass]
最近由于工作忙没有更新,今天来写下关于php100视频第十节,也就是对应本教程第九节--php+mysql的使用!
跟着教程步骤来吧,大纲是:
1、PHP与mysql建立链接
2、如何去执行一个SQL语句
3、两种查询函数array / row区别
4、 其他常用Mysql函数介绍
关于部分内容这里不提及,毕竟这个是配合视频来看的,只拿重点来说明下!
连接数据库的方法:
mysql_connect: 开启 MySQL 链接
mysql_select_db: 打开一个数据库
格式是:
mysql_connect("主机", "用户名", "密码")
mysql_select_db("打开数据库",连接标识符);
如果不特别声明连接标识符,则默认为是上一次打开的连接。
其中,@屏蔽错误,or die 则相反,显示错误,可以定义显示错误的字,下面举例说明:
- <?php
- //我在本地建立了一个csuser的用户名,密码是123456,建立了一个cs的数据库
- $sql = @mysql_connect("localhost","csuser","123456");
- if($sql){
- echo "成功<br>";
- } //$sql是布尔值,做一个判断判断是否连接成功
- $db = mysql_select_db("cs2");
- if($db){
- echo "db"; //cs2改为cs则输出这个
- }else{
- echo "no db<br>"; //cs2不存在,所以输出这个
- }
- $sql2 = @mysql_connect("localhost","csuser","1111");
- //没有 @ 则输出php错误提示,有则屏蔽错误
- $sql3 = @mysql_connect("localhost","csuser","11111") or die ("连接错误");
- //也可以用 or die 来输出当错误的时候输出的提示语句!
- echo 123;
- //or die 错误的时候,后面不会继续跑了
- ?>
大家可以在自己电脑建立一个数据库,数据库用户,用户密码,然后导入一个数据测试!在上一节已经有相关sql文件可以做测试,可以下去看看!
第三行这里,是连接数据库,也就是打开一个主机!
第五六七行是做了一个判断,是否打开,因为传出来的值是布尔值【PS:真正要用的时候,不用做这个判断,这里是举例说明!】
第九行这里,打开一个数据库文件
第十一至十五行:判断数据库是否连接成功!
第十七行这里,输入了一个错误的密码,但是,由于在语句前面 加了个 @ 则屏蔽了错误提示!
第二十行:用 or die 的方法显示连接错误的语句!
注:or die后面的数据不会再跑!
那么,如何执行一个sql语句呢?在前面有说到一些sql语句的用法,如何执行?
mysql_query (SQL语句 ,连接标识符);
说明:mysql_query用来根据连接标识符向该数据库服务器的当前数据库发送查询,
如果连接标识符默认,则默认为是上一次打开的连接。
返回值:成功后返回一个结果标识符,失败时返回false。
- $sql = "SELECT * FROM test";
- $result = @ mysql_query($sql, $conn) or die(mysql_error());
上面这里是一个举例说明,后面的mysql_error()函数是显示错误信息,也就是当错误的使用,用这个echo出数据库的错误信息,方便调试!
- <?php
- //打开一个数据库
- $mysql = @mysql_connect("localhost","csuser","123456");
- mysql_select_db("cs");
- //执行一个sql语句
- $sql = "INSERT INTO test (id,uid,regdate,remark) values ('','小草',now(),'老师')";
- mysql_query("set names 'GBK'"); //由于直接插入会乱码,因为上面有中文,所以需要定义编码
- mysql_query($sql,$mysql);
- echo mysql_insert_id(); //显示当前插入的ID值
- ?>
【PS:我弄的是GBK,我建议还是用UTF-8吧,我的文件起初都是GBK保存的,如果打开是乱码用记事本打开然后另存为utf-8】
在PHP里面,utf-8 写成utf8,也就是
- mysql_query("set names 'utf8'");
上面说完语句的使用,那么,查询语句怎么办呢?其实其他语句都是不需要输出的,但是查询的结果需要输出吧?所以下面介绍两个打印输出查询结果的函数:
mysql_fetch_row(result);
PS:简单的说,这个查询出来的是指针的值,也就是你只能通过指针的方法来取值,如果表的数据不多可以使用,表的字段多,要打印一次,然后来找也麻烦,不过,可以使用下面的函数:
mysql_fetch_array(result);
这个和上面的一样,但是这个可以打印字段名称,看下面代码就懂了!
- <?php
- //打开一个数据库
- $mysql = @mysql_connect("localhost","csuser","123456");
- mysql_select_db("cs");
- mysql_query("set names 'GBK'"); //声明编码
- $sql = "SELECT * FROM `test` WHERE 1"; //查询语句
- $xinxi = mysql_query($sql,$mysql); //把查询结果赋给$xinxi
- $shuchu = mysql_fetch_row($xinxi); //row
- //$xinxi 的值用mysql_fetch_row做成数组赋给$shuchu
- print_r($shuchu); //打印指针
- echo "<br>";
- echo $shuchu[1]; //输出指针1对应的值
- $shuchu2 = mysql_fetch_array($xinxi); //array
- //$xinxi 的值用mysql_fetch_array做成数组赋给$shuchu2
- echo "<br>";
- echo $shuchu2[uid]; //输出关键字uid对应的值
- echo mysql_num_rows($xinxi); //输出统计多少条目
- return mysql_close(); //退出当前数据库
- ?>
我们看一下,首先用sql语句查询,用mysql_query来输出值,然后用 mysql_fetch_row来把他做成一个数组,然后赋给$shuchu ,用print_r 打印指针,然后输出指针的值,也就是:
- $sql = "SELECT * FROM `test` WHERE 1"; //查询语句
- $xinxi = mysql_query($sql,$mysql); //把查询结果赋给$xinxi
- $shuchu = mysql_fetch_row($xinxi);
- print_r($shuchu); //打印指针
- echo $shuchu[1]; //输出指针1对应的值
在表的字段不多的时候,可以这样,但是多的时候,这样还是比较麻烦的,所以可以这样:
- $sql = "SELECT * FROM `test` WHERE 1";
- $xinxi = mysql_query($sql,$mysql);
- $shuchu2 = mysql_fetch_array($xinxi);
- echo $shuchu2[uid];
是不是简化了,方便了很多呢?看情况用吧!
其他常用mysql函数介绍:
mysql_num_rows 用于计算查询结果中所得行的数目 //上面举例了
mysql_insert_id 传回最后一次使用 INSERT 指令的 ID。//上面举例了
mysql_tablename 取得数据库名称
mysql_error 返回错误信息 //上面举例了
mysql_close 关闭 MySQL 链接 //上面举例了
OK,基础知识就到这里结束了!其实还是很简单的!但是要精通,就需要多写多练习代码了!
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助