时间:2021-07-01 10:21:17 帮助过:13人阅读
1、首先创建了一个叫db的数据库,并创建了table1,table2两个表用做演示。
2、运行效果
二、代码
- <span style="color: #008080;"> 1</span> <html>
- <span style="color: #008080;"> 2</span> <body>
- <span style="color: #008080;"> 3</span> <h1>
- <span style="color: #008080;"> 4</span> <span style="color: #000000;"> PHP对数据库进行操作的练习
- </span><span style="color: #008080;"> 5</span> </h1>
- <span style="color: #008080;"> 6</span> <form action="" method=POST>
- <span style="color: #008080;"> 7</span> <input type="text" name="tablename">
- <span style="color: #008080;"> 8</span> <input type="submit" value="查看该表单">
- <span style="color: #008080;"> 9</span> </form>
- <span style="color: #008080;">10</span>
- <span style="color: #008080;">11</span> <?<span style="color: #000000;">php
- </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>
- <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;">)){
- </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>
- <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>
- <span style="color: #008080;">16</span> <span style="color: #0000ff;">echo</span>"表内容如下"<span style="color: #000000;">;
- </span><span style="color: #008080;">17</span> <span style="color: #0000ff;">echo</span> "<table border=‘1‘>"<span style="color: #000000;">;
- </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>
- <span style="color: #008080;">19</span> <span style="color: #0000ff;">echo</span> "<tr>"<span style="color: #000000;">;
- </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;">){
- </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>
- <span style="color: #008080;">22</span> <span style="color: #000000;"> }
- </span><span style="color: #008080;">23</span> <span style="color: #0000ff;">echo</span> "</tr>"<span style="color: #000000;">;
- </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>
- <span style="color: #008080;">25</span> <span style="color: #0000ff;">echo</span> "<tr>"<span style="color: #000000;">;
- </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;">){
- </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>
- <span style="color: #008080;">28</span> <span style="color: #000000;"> }
- </span><span style="color: #008080;">29</span> <span style="color: #0000ff;">echo</span> "</tr>"<span style="color: #000000;">;
- </span><span style="color: #008080;">30</span> <span style="color: #000000;"> }
- </span><span style="color: #008080;">31</span> <span style="color: #0000ff;">echo</span> "</table>"<span style="color: #000000;">;
- </span><span style="color: #008080;">32</span> <span style="color: #000000;"> }
- </span><span style="color: #008080;">33</span> <span style="color: #0000ff;">else</span><span style="color: #000000;">{
- </span><span style="color: #008080;">34</span> <span style="color: #0000ff;">echo</span> "请输入正确表名"<span style="color: #000000;">;
- </span><span style="color: #008080;">35</span> <span style="color: #000000;"> }
- </span><span style="color: #008080;">36</span> <span style="color: #000000;">}
- </span><span style="color: #008080;">37</span> ?>
- <span style="color: #008080;">38</span> </body>
- <span style="color: #008080;">39</span> </html>
三、总结
因为学习的资料有些老旧,一些东西在PHP7里已经不支持了
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;">);
- </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;">);
- </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(),通过如下方式达到相同效果
- <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;">);
- </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;">);
- </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