Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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 如何对mysqli执行mysql_Php_Search_Replace - Fatal编程技术网

Php 如何对mysqli执行mysql

Php 如何对mysqli执行mysql,php,search,replace,Php,Search,Replace,不是特定的查询,而是由于PHP7的出现,所有的软件查询都将从mysql转换为mysqli。这是一个非常古老的编码,因此有很多这样的情况。一段字符串或语法是mysql\u query$query$link;要转换为mysqli_query$link,$query$link1、$link2可用于不同的数据库连接。脏解决方案: 首先,删除mysql扩展,这样就不会定义mysql\u query之类的函数 其次,编写如下函数: function mysql_query($q, $l){ mysq

不是特定的查询,而是由于PHP7的出现,所有的软件查询都将从mysql转换为mysqli。这是一个非常古老的编码,因此有很多这样的情况。一段字符串或语法是mysql\u query$query$link;要转换为mysqli_query$link,$query$link1、$link2可用于不同的数据库连接。

脏解决方案:

首先,删除mysql扩展,这样就不会定义mysql\u query之类的函数

其次,编写如下函数:

function mysql_query($q, $l){
    mysqli_query($l, $q);
}
我的意思是,重写所有mysql函数来调用mysqli

那么它可能会工作得很好

当然,如果您的代码使用了如此多的mysql特性,那么这可能无法正常工作。祝你好运

肮脏的解决方案:

首先,删除mysql扩展,这样就不会定义mysql\u query之类的函数

其次,编写如下函数:

function mysql_query($q, $l){
    mysqli_query($l, $q);
}
我的意思是,重写所有mysql函数来调用mysqli

那么它可能会工作得很好

当然,如果您的代码使用了如此多的mysql特性,那么这可能无法正常工作。祝你好运

使用。我还没有检查我的表达式是否像广告中所说的那样工作,正则表达式语法根据您使用的工具而有所不同。但总的来说,它应该是这样工作的:

搜索mysql\u查询\[^]*,*\$[a-zA-Z0-9\ux]+\ 替换为mysqli_查询$2,$1 例如,在Eclipse IDE中,使用Search/File…,勾选Regular expression复选框,指定*.php作为文件名模式,并在Containing text下输入:

mysql_query\(("[^"]*"), *(\$[a-zA-Z0-9_]+)\)
然后点击替换。。。按钮,然后在下面输入:

mysqli_query($1, $2)
单击“预览”以检查结果。如果操作正确,可以在几秒钟内更新数百个文件。记得在事后测试代码。

使用。我还没有检查我的表达式是否像广告中所说的那样工作,正则表达式语法根据您使用的工具而有所不同。但总的来说,它应该是这样工作的:

搜索mysql\u查询\[^]*,*\$[a-zA-Z0-9\ux]+\ 替换为mysqli_查询$2,$1 例如,在Eclipse IDE中,使用Search/File…,勾选Regular expression复选框,指定*.php作为文件名模式,并在Containing text下输入:

mysql_query\(("[^"]*"), *(\$[a-zA-Z0-9_]+)\)
然后点击替换。。。按钮,然后在下面输入:

mysqli_query($1, $2)

单击“预览”以检查结果。如果操作正确,可以在几秒钟内更新数百个文件。记得在事后测试代码。

由于某些原因,@Axel的解决方案在我的Eclipse版本上不起作用

要替换代码,请执行以下操作:

mysql_query($1, $2)
我使用了这个正则表达式搜索,它起到了作用:

mysql_query\((\$.*), (\$.*)\) 
替换为:

mysqli_query($2, $1)

出于某些原因,@Axel的解决方案在我的Eclipse版本上不起作用

要替换代码,请执行以下操作:

mysql_query($1, $2)
我使用了这个正则表达式搜索,它起到了作用:

mysql_query\((\$.*), (\$.*)\) 
替换为:

mysqli_query($2, $1)

您在哪里申报了$link1和$link2?最好在某个配置文件中指定$link,并将其包含在每个页面上,您在哪里声明了$link1和$link2?如果你在某个配置文件中指定$link并将其包含在每个页面上,那就最好了哦,该死,我喜欢你。@EdvinTenovimas谢谢你。如果你喜欢,那么你可以给我一票。谢谢:@EdvinTenovimas谢谢您的欣赏:很好,但我需要替换代码以节省时间。在您的解决方案中,我必须编写函数,然后必须为每个查询编写代码以单独调用该函数。噢,该死,我喜欢您。@EdvinTenovimas谢谢。如果你喜欢,那么你可以给我一票。谢谢:@EdvinTenovimas谢谢您的欣赏:很好,但我需要替换代码以节省时间。在您的解决方案中,我必须编写函数,然后必须为每个查询编写代码,以单独调用该函数。我已经对其进行了测试,它正在工作。这会节省我宝贵的时间,阿克塞尔!谢谢您的解决方案。Axel,如果查询类似于mysqli_queryselect field1,field2,则从表中选择,其中row1='.$var1.'和row2='.$var2.$limit 1,$linkx。如何挑选和交换它们?我已经测试过了,它正在工作。这会节省我宝贵的时间,阿克塞尔!谢谢您的解决方案。Axel,如果查询类似于mysqli_queryselect field1,field2,则从表中选择,其中row1='.$var1.'和row2='.$var2.$limit 1,$linkx。如何挑选和交换它们?