Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL-pdo与遗产_Php_Mysql_Pdo - Fatal编程技术网

Php MySQL-pdo与遗产

Php MySQL-pdo与遗产,php,mysql,pdo,Php,Mysql,Pdo,有没有一种方法可以使PDO返回的结果集与传统的mysql函数返回的数据集相同 实际上,我的应用程序中的所有文件都调用一个函数来执行任何SQL查询。目前,该函数使用旧的mysql函数。我想在单个函数中将其更改为PDO,在整个应用程序中有效地更改为PDO 因此,我需要一种方法,使结果的格式与旧的mysql函数相同。如果您指的是由mysql\u query返回的结果集资源,那么:否。资源特定于定义它们的扩展,对其他任何内容都没有意义。PDO返回一个对象,mysql\u querya资源;那是苹果和桔子

有没有一种方法可以使PDO返回的结果集与传统的
mysql
函数返回的数据集相同

实际上,我的应用程序中的所有文件都调用一个函数来执行任何SQL查询。目前,该函数使用旧的
mysql
函数。我想在单个函数中将其更改为PDO,在整个应用程序中有效地更改为PDO

因此,我需要一种方法,使结果的格式与旧的
mysql
函数相同。

如果您指的是由
mysql\u query
返回的结果集资源,那么:否。资源特定于定义它们的扩展,对其他任何内容都没有意义。PDO返回一个对象,
mysql\u query
a资源;那是苹果和桔子


如果您指的是使用
mysql\u fetch\u assoc
PDOStatement::fetch
构建的数组,那么:当然,如果您费心这么做,您可以使它们看起来完全相同。

显示您的遗留代码。您是指获取mysql资源而不是
PDOStatement
?如果您随后需要编辑所有后续函数调用,那么重点是什么呢?请注意,使用
PDO
在函数中执行查询可能意味着全局
PDO
实例、闭包实例或在每个函数调用上构造一个PDO实例。也许用一个对象替换函数会更好。因为对象可以保持状态,所以无需在每次执行查询时重新连接到数据库。作为一个快速修复,您可以将其设置为一个fugly静态方法和一个静态属性,用于保存PDO实例。但是继续研究这个对象。另外,
mysqli.*
在返回结果资源等方面更接近于
mysql.*