当前位置:Gxlcms > 数据库问题 > PHP对数据库的简单操作

PHP对数据库的简单操作

时间:2021-07-01 10:21:17 帮助过:13人阅读

1、首先创建了一个叫db的数据库,并创建了table1,table2两个表用做演示。

技术图片技术图片

2、运行效果

技术图片

技术图片

技术图片

二、代码

  1. <span style="color: #008080;"> 1</span> <html>
  2. <span style="color: #008080;"> 2</span> <body>
  3. <span style="color: #008080;"> 3</span> <h1>
  4. <span style="color: #008080;"> 4</span> <span style="color: #000000;"> PHP对数据库进行操作的练习
  5. </span><span style="color: #008080;"> 5</span> </h1>
  6. <span style="color: #008080;"> 6</span> <form action="" method=POST>
  7. <span style="color: #008080;"> 7</span> <input type="text" name="tablename">
  8. <span style="color: #008080;"> 8</span> <input type="submit" value="查看该表单">
  9. <span style="color: #008080;"> 9</span> </form>
  10. <span style="color: #008080;">10</span>
  11. <span style="color: #008080;">11</span> <?<span style="color: #000000;">php
  12. </span><span style="color: #008080;">12</span> <span style="color: #800080;">$link</span>=<span style="color: #0000ff;">new</span> mysqli("localhost","root","数据库密码","数据库名");<span style="color: #008000;">//</span><span style="color: #008000;">连接数据库</span>
  13. <span style="color: #008080;">13</span> <span style="color: #0000ff;">if</span>(!<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">$_POST</span><span style="color: #000000;">)){
  14. </span><span style="color: #008080;">14</span> <span style="color: #800080;">$table</span>=<span style="color: #800080;">$_POST</span>["tablename"];<span style="color: #008000;">//</span><span style="color: #008000;">得到要操作的表名</span>
  15. <span style="color: #008080;">15</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$result</span>=<span style="color: #800080;">$link</span>->query("select * from <span style="color: #800080;">$table</span>")){<span style="color: #008000;">//</span><span style="color: #008000;">得到结果集</span>
  16. <span style="color: #008080;">16</span> <span style="color: #0000ff;">echo</span>"表内容如下"<span style="color: #000000;">;
  17. </span><span style="color: #008080;">17</span> <span style="color: #0000ff;">echo</span> "<table border=‘1‘>"<span style="color: #000000;">;
  18. </span><span style="color: #008080;">18</span> <span style="color: #800080;">$f_cnt</span>=<span style="color: #008080;">mysqli_num_fields</span>(<span style="color: #800080;">$result</span>);<span style="color: #008000;">//</span><span style="color: #008000;">得到结果集的列数</span>
  19. <span style="color: #008080;">19</span> <span style="color: #0000ff;">echo</span> "<tr>"<span style="color: #000000;">;
  20. </span><span style="color: #008080;">20</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0;<span style="color: #800080;">$i</span><<span style="color: #800080;">$f_cnt</span>;++<span style="color: #800080;">$i</span><span style="color: #000000;">){
  21. </span><span style="color: #008080;">21</span> <span style="color: #0000ff;">echo</span> "<td>".<span style="color: #800080;">$result</span>->fetch_field_direct(<span style="color: #800080;">$i</span>)->name."</td>";<span style="color: #008000;">//</span><span style="color: #008000;">打印表头</span>
  22. <span style="color: #008080;">22</span> <span style="color: #000000;"> }
  23. </span><span style="color: #008080;">23</span> <span style="color: #0000ff;">echo</span> "</tr>"<span style="color: #000000;">;
  24. </span><span style="color: #008080;">24</span> <span style="color: #0000ff;">while</span>(<span style="color: #800080;">$data</span>=<span style="color: #008080;">mysqli_fetch_array</span>(<span style="color: #800080;">$result</span>,MYSQLI_NUM)){<span style="color: #008000;">//</span><span style="color: #008000;">从结果集中取得一行,返回数字数组</span>
  25. <span style="color: #008080;">25</span> <span style="color: #0000ff;">echo</span> "<tr>"<span style="color: #000000;">;
  26. </span><span style="color: #008080;">26</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$j</span>=0;<span style="color: #800080;">$j</span><<span style="color: #800080;">$f_cnt</span>;++<span style="color: #800080;">$j</span><span style="color: #000000;">){
  27. </span><span style="color: #008080;">27</span> <span style="color: #0000ff;">echo</span> "<td>".<span style="color: #800080;">$data</span>[<span style="color: #800080;">$j</span>]."</td>";<span style="color: #008000;">//</span><span style="color: #008000;">依次打印数组</span>
  28. <span style="color: #008080;">28</span> <span style="color: #000000;"> }
  29. </span><span style="color: #008080;">29</span> <span style="color: #0000ff;">echo</span> "</tr>"<span style="color: #000000;">;
  30. </span><span style="color: #008080;">30</span> <span style="color: #000000;"> }
  31. </span><span style="color: #008080;">31</span> <span style="color: #0000ff;">echo</span> "</table>"<span style="color: #000000;">;
  32. </span><span style="color: #008080;">32</span> <span style="color: #000000;"> }
  33. </span><span style="color: #008080;">33</span> <span style="color: #0000ff;">else</span><span style="color: #000000;">{
  34. </span><span style="color: #008080;">34</span> <span style="color: #0000ff;">echo</span> "请输入正确表名"<span style="color: #000000;">;
  35. </span><span style="color: #008080;">35</span> <span style="color: #000000;"> }
  36. </span><span style="color: #008080;">36</span> <span style="color: #000000;">}
  37. </span><span style="color: #008080;">37</span> ?>
  38. <span style="color: #008080;">38</span> </body>
  39. <span style="color: #008080;">39</span> </html>

三、总结

因为学习的资料有些老旧,一些东西在PHP7里已经不支持了

1、连接数据库的几种方法

  1. <span style="color: #008080;">1</span> <span style="color: #800080;">$link</span>= <span style="color: #0000ff;">new</span> mysqli("servername","username","password"<span style="color: #000000;">);
  2. </span><span style="color: #008080;">2</span> <span style="color: #800080;">$link</span>= <span style="color: #008080;">mysqli_connect</span>("servername","username","password"<span style="color: #000000;">);
  3. </span><span style="color: #008080;">3</span> <span style="color: #800080;">$link</span>= <span style="color: #0000ff;">new</span> PDO("mysql:host=<span style="color: #800080;">$servername</span>;", <span style="color: #800080;">$username</span>, <span style="color: #800080;">$password</span>);

2、获得结果集中指定的属性名

参考自:http://www.php.cn/wenda/100695.html

已经不能再使用mysql_field_name(),通过如下方式达到相同效果

  1. <span style="color: #008080;">1</span> <span style="color: #800080;">$link</span>=<span style="color: #0000ff;">new</span> mysqli("localhost","root","password","database"<span style="color: #000000;">);
  2. </span><span style="color: #008080;">2</span> <span style="color: #800080;">$result</span>=<span style="color: #800080;">$link</span>->query("select * from 表名"<span style="color: #000000;">);
  3. </span><span style="color: #008080;">3</span> <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$result</span>->fetch_field_direct(0)->name;

3、三个函数

mysqli_fetch_all()  :取结果集中所有行,若参数设为MYSQLI_ASSOC则返回关联数组,若参数设为MYSQLI_NUM则返回数字数组,若参数设为MYSQLI_BOTH则返回关联数组和数字数组

mysqli_fetch_array()  :取结果集中一行,若参数设为MYSQLI_ASSOC则返回关联数组,若参数设为MYSQLI_NUM则返回数字数组,若参数设为MYSQLI_BOTH则返回关联数组和数字数组

mysqli_fetch_assoc()  :取结果集中一行,返回关联数组

具体参考:http://www.runoob.com/php/php-ref-mysqli.html

例如这样一个表:

id name age
1 小红 23
2 小黄 22

关联数组:array("id"=>1, "name"=>"小红", "age"=>23);

数字数组:array(0=>1, 1=>"小红", 2=>23);

都有:array("id"=>1, "name"=>"小红", "age"=>23, 0=>1, 1=>"小红", 2=>23);

PHP对数据库的简单操作

标签:www   mic   inpu   学习   orm   php7   table   localhost   fetch   

人气教程排行