我有一堆代码需要从
PHP的mysql_ *转换到mysqli_ *
在Sublime Text 2中,我可以轻松地找到mysql_,并将其替换为mysqli_
遇到的问题是:
mysql_query($query,$link_identifier)
与
mysqli_query($link,$query)
为了使事情变得更糟$查询并不总是查询字符串的变量名.
我可能有:
$q_test = "SELECT `lName` FROM `users` ORDER BY `lName`";
$rstest = mysql_query($q_test,$DB) or die(mysql_error($DB));
和
$q_tester = "SELECT `address` FROM `users_address` ORDER BY `id`";
$rstester = mysql_query($q_tester,$DB) or die(mysql_error($DB));
在同一页面上
有没有办法让我在Sublime Text 2中构建一个宏来将上述两者都改为:
$rstest = mysqli_query($DBi,$q_test) or die(mysqli_error($DBi));
$rstester = mysqli_query($DBi,$q_tester) or die(mysqli_error($DBi));
与此同时?我想我可以使用正则表达式来完成这一点,我根本不知道如何和从哪里开始.
UPDATE
所以,经过一点狩猎,我发现我可以搜索:
mysql_query\(\$(\w+),\$DB\)
并替换
mysqli_query\(\$DBi\,\$$1)
转换
$rstest = mysql_query($q_test,$DB)或者死(mysql_error($DB));
至
$rstest = mysqli_query($DBi,$q_test)或者死(mysql_error($DB));对我而言…
原来你不能查找和替换.我有任何选择吗?
UPDATE
所以看起来我可以使用插件Reg Replace完成我想要的,即使我有更多的设置要做.
使用Reg替换我可以链接多个查找和替换动作在一起,并将其绑定到击键,所以我基本上可以做一系列的查找和替换动作,以获得我需要的:
>使用mysqli_查找和替换mysql_
>使用$DBi查找并替换$DB
>查找和替换,$DBi)或死(带)或死
>查找并替换mysqli_query($with mysqli_query($DBi,$
那些基本得到
$rstest = mysql_query($q_test,$DB)或者死(mysql_error($DB));
转换成
$rstest = mysqli_query($DBi,$q_test)或死(mysqli_error($DBi));
对我来说,一键击键.这不是最佳的,但它是诀窍.我仍然在寻找一个简单的,没有插件解决方案.
UPDATE
以上工作与使用updated Reg Replace plugin的Sublime Text 3