php查询数据表转为数组

在PHP中使用MySQL作为数据库的情况下,经常需要将查询到的数据表数据转换为数组格式。这种方法非常常见,因为数组是PHP中常用的数据类型之一,并且在编写查询代码时,经常需要使用PHP数组进行数据处理和转换。

下面,我们将介绍一个简单的方法,来将MySQL中查询结果转换为PHP数组的格式。

使用mysql_fetch_array

php查询mysql数据表转换为数组的最基本方法是使用mysql_fetch_array函数。该函数的作用是将MySQL查询结果从一行一行的数据记录,转换为PHP数组类型的数据。该函数的语法如下:

1

mysql_fetch_array(resource $result [, int $result_type =  MYSQL_BOTH ])

登录后复制

其中,第一个参数是MySQL查询结果集,第二个参数是可选参数,表示需要返回的数组类型。MYSQL_BOTH表示同时返回关联数组和数字数组,除此之外还可以设置成MYSQL_ASSOC和MYSQL_NUM分别只返回关联数组或数字数组。

示例代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

// 连接数据库

$conn = mysql_connect(localhost,root,);

mysql_query(“set names utf8”);

mysql_select_db(test);

//查询数据表

$sql = “select * from student”;

$result = mysql_query($sql);

//转换为数组

$arr = array();

while($row = mysql_fetch_array($result,MYSQL_ASSOC)){

$arr[] = $row;

}

//输出结果

print_r($arr);

登录后复制

在上面的代码中,我们首先连接了数据库,然后查询了student数据表的所有数据,最后使用 while 循环遍历了所有的查询结果,将每一条结果都添加到了数组中,最后输出了整个数组。

2.使用PDO查询与转换数组

另一个方法是使用PHP的PDO(PHP 数据对象)扩展库查询数据库及获取结果集。PDO提供了一种更加灵活和安全的方式来操作数据库,通过PDO查询数据库可以有效防止SQL注入等攻击。

PDO查询MySQL的示例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

//连接数据库

$dsn = mysql:dbname=test;host=localhost;

$username = root;

$password = ;

try {

$dbh = new PDO($dsn, $username, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => “SET NAMES utf8”));

} catch (PDOException $e) {

echo Connection failed: . $e->getMessage();

}

//查询数据表

$sql = “select * from student”;

$sth = $dbh->query($sql);

//转换为数组

$arr = $sth->fetchAll(PDO::FETCH_ASSOC);

print_r($arr);

登录后复制

在上面的示例中,我们首先建立了MySQL数据库的连接,然后使用 PDO(PHP 数据对象)查询student数据表的所有数据,并且使用 fetchAll 函数获取所有结果集的数据,最后将数组输出。

可以看到在这个示例中,查询数据表和转换为数组的代码都比较简单,而且使用了PDO方式要比mysql_fetch_array方式更加安全可靠。

总结:

使用以上两种方法都可以将MySQL中的数据表查询结果转换为PHP数组的格式。方法一适用于 MySQL 扩展库函数,它的缺点在于不支持速度更快、数据更安全的PDO操作方法。而PDO方式则更为灵活,更安全,优点在于可防止SQL注入攻击,是一种折中的方案。在选择使用方式上应结合实际场景权衡取舍。

以上就是php查询数据表转为数组的详细内容,更多请关注php中文网其它相关文章!

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞2.1W+ 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容