iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php查询数据表转为数组
  • 858
分享到

php查询数据表转为数组

2023-05-19 12:05:36 858人浏览 泡泡鱼
摘要

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

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

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

  1. 使用mysql_fetch_array

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

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

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

示例代码如下:

// 连接数据库
$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的示例如下:

//连接数据库
$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查询数据表转为数组的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: php查询数据表转为数组

本文链接: https://www.lsjlt.com/news/213183.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作