首页 > 后端开发 > php教程 > php链接mysql数据库

php链接mysql数据库

WBOY
发布: 2016-07-29 09:09:05
原创
1109 人浏览过

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

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

        大体的连接方法如下:

<span><?php </span><span><span>header</span><span>(</span><span>"Content-type: text/html; charset=utf-8"</span><span>);
</span><span>$mysql_url</span><span>=</span><span>"localhost"</span><span>;</span><span>//</span><span>数据库服务器的地址
</span><span>$mysql_username</span><span>=</span><span>""</span><span>;</span><span>//</span><span>数据库用户名的名称
</span><span>$mysql_password</span><span>=</span><span>""</span><span>;</span><span>//</span><span>连接数据库的密码
</span><span>$mysql_database</span><span>=</span><span>""</span><span>;</span><span>//</span><span>数据库的名字
</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>);
</span><span>if</span><span>(</span><span>mysqli_connect_error</span><span>()){</span><span>//</span><span>数据库连接失败时提示
</span><span>echo </span><span>'Could not connect to database.'</span><span>;
</span><span>exit</span><span>;
</span><span>}
</span><span>mysqli_query</span><span>(</span><span>$db</span><span>,</span><span>'set names utf8'</span><span>);</span><span>//</span><span>给查询结果设置编码
</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>语句表面不能加单引号或双引号
</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>);
</span><span>?></span></span></span>
登录后复制

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

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

        比较常用的有fetch_row,fetch_array,fetch_all

一、fetch_row()

$row = $result->fetch_row()

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

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

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

<span>$rows</span><span><span>= </span><span>array</span><span>();</span><span>//</span><span>建立一个数组用来装查询结果
</span><span>while</span><span>(</span><span>$row </span><span>= </span><span>$result</span><span>->fetch_row()){</span><span>//</span><span>只要能查到结果就执行
</span><span>$rows</span><span>[] = </span><span>$row</span><span>;</span><span>//</span><span>将每次查的结果装到之前定义的数组
</span><span>}
</span><span>var_dump</span><span>(</span><span>$rows</span><span>);
</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教程有兴趣的朋友有所帮助。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板