我目前有一个大型Web应用程序连接到MSSQL以获取其数据.这个Web应用程序有数百个.php文件.我有一个新客户,他不想使用MSSQL,而是使用
MySQL.
我搜索并发现了很多关于如何迁移数据的文章.但那不是我的问题.我知道如何做到这一点,除了一些默认目录,我们将从一个空白数据库开始.
我需要知道的是,是否有办法自动将mssql_query代码更改为mysqli代码.例如:
$SqlText = 'SELECT a,b,c FROM table WHERE x=y'; if (!$result = mssql_query($SqlText) { die('Error'); } while ($row = mssql_fetch_assoc($result) { echo '<td>' . $row['a'] . '</td>'; echo '<td>' . $row['b'] . '</td>'; echo '<td>' . $row['c'] . '</td>'; }
变成这样的东西:
$SqlText = 'SELECT a,c FROM table WHERE x=y'; if (!$result = mssqli_query($db,$SqlText) { die('Error'); } while ($row = mssqli_fetch_assoc($result) { echo '<td>' . $row['a'] . '</td>'; echo '<td>' . $row['b'] . '</td>'; echo '<td>' . $row['c'] . '</td>'; }
此外,正如您所看到的,我使用的是旧的mssql_query代码,这在新版本的PHP中甚至不受支持.是否至少有一个工具可以将我的代码从mssql_query更改为新版本的sqlserv_query类型的命令?
任何帮助非常感谢.
解决方法
我不认为有一种完全自动的方式.因为MySQL有’LIMIT’,例如MSSQL有’TOP’.当然,这不一定是一个问题,但我不确定复杂的MSSQL查询是否会将1:1转换为MySQL.
并建议你使用“标志指出MySql它是数据库,表或列名的成员.例:
$SqlText = 'SELECT a,c FROM table WHERE x=y';
会变成
$SqlText = 'SELECT `a`,`b`,`c` FROM `table` WHERE `x`=y';
现在您可以进行查询
'SELECT `select` FROM `datetime` WHERE `limit` = 1'
否则,单词,select,datetime和limit将干扰MySql语法.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。