看php100视频从零开始学php-php学习第九节[php+mysql的使用]

视频,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 则相反,显示错误,可以定义显示错误的字,下面举例说明:

  1. <?php  
  2. //我在本地建立了一个csuser的用户名,密码是123456,建立了一个cs的数据库  
  3. $sql = @mysql_connect("localhost","csuser","123456");  
  4.   
  5. if($sql){  
  6. echo "成功<br>";  
  7. //$sql是布尔值,做一个判断判断是否连接成功  
  8.   
  9. $db = mysql_select_db("cs2");  
  10.   
  11. if($db){  
  12. echo "db"//cs2改为cs则输出这个  
  13. }else{  
  14. echo "no db<br>"//cs2不存在,所以输出这个  
  15. }  
  16.   
  17. $sql2 = @mysql_connect("localhost","csuser","1111");  
  18. //没有 @ 则输出php错误提示,有则屏蔽错误  
  19.   
  20. $sql3 = @mysql_connect("localhost","csuser","11111"or die ("连接错误");  
  21. //也可以用 or die 来输出当错误的时候输出的提示语句!  
  22. echo 123;  
  23. //or die 错误的时候,后面不会继续跑了  
  24. ?>  

大家可以在自己电脑建立一个数据库,数据库用户,用户密码,然后导入一个数据测试!在上一节已经有相关sql文件可以做测试,可以下去看看!

第三行这里,是连接数据库,也就是打开一个主机!

第五六七行是做了一个判断,是否打开,因为传出来的值是布尔值【PS:真正要用的时候,不用做这个判断,这里是举例说明!】

第九行这里,打开一个数据库文件

第十一至十五行:判断数据库是否连接成功!

第十七行这里,输入了一个错误的密码,但是,由于在语句前面 加了个 @ 则屏蔽了错误提示!

第二十行:用 or die 的方法显示连接错误的语句!

注:or die后面的数据不会再跑!


那么,如何执行一个sql语句呢?在前面有说到一些sql语句的用法,如何执行?

mysql_query (SQL语句 ,连接标识符);

说明:mysql_query用来根据连接标识符向该数据库服务器的当前数据库发送查询,

如果连接标识符默认,则默认为是上一次打开的连接。

返回值:成功后返回一个结果标识符,失败时返回false。

  1. $sql = "SELECT * FROM  test";  
  2. $result = @ mysql_query($sql$connor die(mysql_error());  

上面这里是一个举例说明,后面的mysql_error()函数是显示错误信息,也就是当错误的使用,用这个echo出数据库的错误信息,方便调试!

  1. <?php  
  2. //打开一个数据库  
  3. $mysql = @mysql_connect("localhost","csuser","123456");  
  4. mysql_select_db("cs");  
  5. //执行一个sql语句  
  6. $sql = "INSERT INTO test (id,uid,regdate,remark) values ('','小草',now(),'老师')";  
  7. mysql_query("set names 'GBK'"); //由于直接插入会乱码,因为上面有中文,所以需要定义编码  
  8. mysql_query($sql,$mysql);  
  9. echo mysql_insert_id(); //显示当前插入的ID值  
  10. ?>  

【PS:我弄的是GBK,我建议还是用UTF-8吧,我的文件起初都是GBK保存的,如果打开是乱码用记事本打开然后另存为utf-8】

在PHP里面,utf-8 写成utf8,也就是

  1. mysql_query("set names 'utf8'");  

上面说完语句的使用,那么,查询语句怎么办呢?其实其他语句都是不需要输出的,但是查询的结果需要输出吧?所以下面介绍两个打印输出查询结果的函数:

mysql_fetch_row(result);

PS:简单的说,这个查询出来的是指针的值,也就是你只能通过指针的方法来取值,如果表的数据不多可以使用,表的字段多,要打印一次,然后来找也麻烦,不过,可以使用下面的函数:

mysql_fetch_array(result);

这个和上面的一样,但是这个可以打印字段名称,看下面代码就懂了!

  1. <?php  
  2. //打开一个数据库  
  3. $mysql = @mysql_connect("localhost","csuser","123456");  
  4. mysql_select_db("cs");  
  5. mysql_query("set names 'GBK'"); //声明编码  
  6.   
  7. $sql = "SELECT * FROM `test` WHERE 1"//查询语句  
  8. $xinxi = mysql_query($sql,$mysql); //把查询结果赋给$xinxi  
  9.   
  10. $shuchu = mysql_fetch_row($xinxi); //row   
  11. //$xinxi 的值用mysql_fetch_row做成数组赋给$shuchu  
  12.   
  13. print_r($shuchu); //打印指针  
  14.   
  15. echo "<br>";  
  16. echo $shuchu[1]; //输出指针1对应的值  
  17.   
  18. $shuchu2 = mysql_fetch_array($xinxi); //array  
  19. //$xinxi 的值用mysql_fetch_array做成数组赋给$shuchu2  
  20.   
  21. echo "<br>";  
  22. echo $shuchu2[uid]; //输出关键字uid对应的值  
  23.   
  24. echo mysql_num_rows($xinxi); //输出统计多少条目  
  25. return mysql_close(); //退出当前数据库  
  26.   
  27. ?>  

我们看一下,首先用sql语句查询,用mysql_query来输出值,然后用 mysql_fetch_row来把他做成一个数组,然后赋给$shuchu ,用print_r 打印指针,然后输出指针的值,也就是:

  1. $sql = "SELECT * FROM `test` WHERE 1"//查询语句  
  2. $xinxi = mysql_query($sql,$mysql); //把查询结果赋给$xinxi  
  3.   
  4. $shuchu = mysql_fetch_row($xinxi);   
  5.   
  6. print_r($shuchu); //打印指针  
  7.   
  8. echo $shuchu[1]; //输出指针1对应的值  

在表的字段不多的时候,可以这样,但是多的时候,这样还是比较麻烦的,所以可以这样:

  1. $sql = "SELECT * FROM `test` WHERE 1";     
  2. $xinxi = mysql_query($sql,$mysql);  
  3.   
  4. $shuchu2 = mysql_fetch_array($xinxi);   
  5.   
  6. echo $shuchu2[uid];   

是不是简化了,方便了很多呢?看情况用吧!


其他常用mysql函数介绍:

mysql_num_rows  用于计算查询结果中所得行的数目 //上面举例了

mysql_insert_id 传回最后一次使用 INSERT 指令的 ID。//上面举例了

mysql_tablename 取得数据库名称

mysql_error   返回错误信息 //上面举例了

mysql_close 关闭 MySQL 链接 //上面举例了

OK,基础知识就到这里结束了!其实还是很简单的!但是要精通,就需要多写多练习代码了!

php-php+mysql-ljcw

 

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情