当前位置:Gxlcms > PHP教程 > php链接mysql数据库

php链接mysql数据库

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

php连接数据库有三种方法,刚刚发现通过mysql_connect,mysql_query连接已被废弃,而现在推荐的是通过“面向对象方法”和“PDO方法”连接数据库。

而我在使用面向对象的方法连接时,查询出来的结果中文无法显示,网上给的大部分解决办法都是针对老式连接方法的解决办法,不过最终还是找到了解决办法。

大体的连接方法如下:

  1. <span><!--?php
  2. </span--><span><span>header</span><span>(</span><span>"Content-type: text/html; charset=utf-8"</span><span>);
  3. </span><span>$mysql_url</span><span>=</span><span>"localhost"</span><span>;</span><span>//</span><span>数据库服务器的地址
  4. </span><span>$mysql_username</span><span>=</span><span>""</span><span>;</span><span>//</span><span>数据库用户名的名称
  5. </span><span>$mysql_password</span><span>=</span><span>""</span><span>;</span><span>//</span><span>连接数据库的密码
  6. </span><span>$mysql_database</span><span>=</span><span>""</span><span>;</span><span>//</span><span>数据库的名字
  7. </span><span>$db</span><span>=</span><span>new </span><span>mysqli(</span><span>$mysql_url</span><span>,</span><span>$mysql_username</span><span>,</span><span>$mysql_password</span><span>,</span><span>$mysql_database</span><span>);
  8. </span><span>if</span><span>(</span><span>mysqli_connect_error</span><span>()){</span><span>//</span><span>数据库连接失败时提示
  9. </span><span>echo </span><span>'Could not connect to database.'</span><span>;
  10. </span><span>exit</span><span>;
  11. </span><span>}
  12. </span><span>mysqli_query</span><span>(</span><span>$db</span><span>,</span><span>'set names utf8'</span><span>);</span><span>//</span><span>给查询结果设置编码
  13. </span><span>$result</span><span>=</span><span>$db</span><span>->query(</span><span>"SELECT * FROM yc_brand"</span><span>);</span><span>//</span><span>此处</span><span>sql</span><span>语句表面不能加单引号或双引号
  14. </span><span>$all</span><span>=</span><span>$result</span><span>->fetch_all();</span><span>//</span><span>获取结果集中的所有数据</span><span>var_dump</span><span>(</span><span>$all</span><span>);
  15. </span><span>?></span></span></span>

其中查询结果是一个对象 $result,因为是对象,所以没法直接打印使用。

我们可以调用该对象的方法来将其转换为数组等表现形式。

比较常用的有fetch_row,fetch_array,fetch_all

一、fetch_row()

$row = $result->fetch_row()

此方法得到的$row是一个一维数组,每次只会得到一组“记录”,即:如果你查出来的应该是10组记录,而他每次只会返回给你一组记录。

需要用一个while循环将每次查询出来的一维数组再装到一个一维数组中,形成一个二维数组(如装有10组记录的二维数组)。

这种方法的特点是:查询出来的一维数组内的键名默认为从0开始的数字

  1. <span>$rows</span><span><span>= </span><span>array</span><span>();</span><span>//</span><span>建立一个数组用来装查询结果
  2. </span><span>while</span><span>(</span><span>$row </span><span>= </span><span>$result</span><span>->fetch_row()){</span><span>//</span><span>只要能查到结果就执行
  3. </span><span>$rows</span><span>[] = </span><span>$row</span><span>;</span><span>//</span><span>将每次查的结果装到之前定义的数组
  4. </span><span>}
  5. </span><span>var_dump</span><span>(</span><span>$rows</span><span>);
  6. </span></span>

二、fetch_array()

$row = $result->fetch_array()

此方法总体与fetch_row相同,他们两的不同之处在于,fetch_array()查出来的一维数组中里面每一列有两个键值名,原表的列名会自动成为各个键值名,而也会拥有从0开始自动排序的键值名

三、fetch_all()

$rows = $result ->fetch_all();

此方法得出来得$rows为一个二维数组,其实“就相当于fetch_row方法已经循环完存完一维数组的二维数组$rows”,可以直接打印。

以上就介绍了php链接mysql数据库,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行