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

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

大体的连接方法如下:

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

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

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

比较常用的有fetch_row,fetch_array,fetch_all

一、fetch_row()

$row = $result->fetch_row()

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

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

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

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

二、fetch_array()

$row = $result->fetch_array()

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

三、fetch_all()

$rows = $result ->fetch_all();

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

php链接mysql数据库的更多相关文章

  1. Python学习笔记9-Python 链接MySql数据库

    Python 链接MySql数据库,方法很简单: 首先需要先 安装一个MySql链接插件:MySQL-python-1.2.3.win-amd64-py2.7.exe 下载地址:http://dev. ...

  2. Tomcat通过JNDI方式链接MySql数据库

    原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...

  3. C# 链接MySql数据库

    C# 链接MySql数据库只得注意的几点: 1.C#链接MySql数据库要在网上下载一个mysql-connector-net-6.0.4-noinstall.rar  这里面放的都是一堆dll .将 ...

  4. 写给小白的JAVA链接MySQL数据库的步骤(JDBC):

    作为复习总结的笔记,我罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理. /* * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此 ...

  5. Java链接MySQL数据库的用配置文件和不用配置文件的代码

    1.利用配置文件(db.properties)链接MySQL数据库 package tool; import java.io.FileInputStream;import java.sql.Conne ...

  6. SQLServer 远程链接MySql数据库详解

    SQLServer 远程链接MySql数据库详解 by:授客 QQ:1033553122 测试环境: Microsoft Windows XP Professional 版本2000 Service ...

  7. Java基于jdbc链接mysql数据库步骤示列

    用JDBC来链接MYSQL数据库,基本步骤都大同小异,只不过不同的数据库之间的URL地址有些不同.其基本步骤可分为以下几点: 1.加载相应的数据库的JDBC驱动程序. 2.利用驱动管理器DriverM ...

  8. jmeter链接mysql数据库

    一.下载与MySQL对应的jar包 1.1.查询MySQL的版本, 命令语句 :SELECT VERSION(); 1.2.MySQL官网下载jar包 ,https://downloads.mysql ...

  9. 用PHP链接mysql数据库

    PHP提供了两套数据库可用于访问mysql数据库 1)MySQL扩展函数数据库 2)MySQLI扩展数据库(improved) 使用MySQLI函数访问MySQL数据库步骤 1)链接数据库管理系统 m ...

  10. Mssql链接mysql数据库

    最近在做mysql数据库实时同步到mssql数据库的方案,花了一周时间,测试通过了,在实际机器上测试出现了若干问题.第一个问题就是在mssql上链接mysql的问题. 第一步,安装 Mysql ODB ...

随机推荐

  1. 【框架】网络请求+Gson解析--Retrofit 2

    其实内部是封装了Okhttp和Gson解析 public class CourseFragmentAPI { public static void get(String userId, BaseCal ...

  2. 封装JavaScript的AJAX

    // 创建request对象 function createXMLHttpRequest() { try { return new XMLHttpRequest();//大多数浏览器 } catch ...

  3. hashlib加密操作模块

    import hashlib#加密操作obj=hashlib.md5(bytes("hasdfghjklcxz",encoding="utf-8"))#加密操作 ...

  4. 记一次小团队Git实践(中)

    对于初学者,从使用上先入手,往往学的最快,并从中汲取教训,再回头更深入的学习,效果尤佳. 安装git 安装git自不必说,mac已经内置了git,linux下一个命令就能搞定,windows下需要下载 ...

  5. Python小例子(判断质数)

    只能被自己或者1整除的数为质数 num = int(input('请输入一个数:')) if num > 1: # 查看因子 for i in range(2, num): if (num % ...

  6. 贪心+模拟 Codeforces Round #288 (Div. 2) C. Anya and Ghosts

    题目传送门 /* 贪心 + 模拟:首先,如果蜡烛的燃烧时间小于最少需要点燃的蜡烛数一定是-1(蜡烛是1秒点一支), num[g[i]]记录每个鬼访问时已点燃的蜡烛数,若不够,tmp为还需要的蜡烛数, ...

  7. PAT (BL) 1001

    链接:http://pat.zju.edu.cn/contests/pat-b-practise/1001 /* 1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: ...

  8. HDU 2842 (递推+矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2842 题目大意:棒子上套环.第i个环能拿下的条件是:第i-1个环在棒子上,前i-2个环不在棒子上.每个 ...

  9. display:none 与 opacity:0

    display:none隐藏消失: opacity:0 只是透明:

  10. Vijos1448校门外的树 题解

    Vijos1448校门外的树 题解 描述: 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现 ...