我使用相同的查询(通过PDO连接器)连接MySQL数据库和镜像SQLite数据库中的字符串。它们都有相同的桌子,相同的结构等。
但是,当执行查询时,MySQL正确地执行查询,而SQLite出错,因此我得到了一个错误500。
请问有办法让这两个数据库都能用吗?下面是我使用的参数化查询。
正如我所说:没有行`IP` = CONCAT(IP, :param3),一切都很好( MySQL和SQLite)
使用行`IP` = CONCAT(IP, :param3),MySQL被正确连接,SQLite崩溃
$query = "UPDATE downloaded SET
`player` = player + 1,
`when` = :param0,
`IP` = CONCAT(IP, :param3)
WHERE who = :param1 AND what = :param2";
$params = array(
':param0' => $when_,
':param1' => $Email,
':param2' => $file,
':param3' => $IP_Caller . "<br />"
);提前感谢您的帮助
发布于 2020-07-19 19:46:22
SQLite不支持CONCAT()函数。
您必须使用运算符||
`IP` = IP || :param3如果您也希望在MySql中使用相同的代码,则必须启用PIPES_AS_CONCAT模式。默认情况下,此模式是禁用的,因此运算符||只是逻辑OR的别名。
https://stackoverflow.com/questions/62984850
复制相似问题