Php SQLite3转义失败,生成多个单引号
这里提供的答案对我不好,因为我不能使用PDOPhp SQLite3转义失败,生成多个单引号,php,sqlite,Php,Sqlite,这里提供的答案对我不好,因为我不能使用PDO 当字符串有单引号时,上述代码总是将单引号的数量加倍。例如,我在“stackoverflow”中询问一个问题将导致我在“stackoverflow”中询问一个问题字符是SQLite(和一些其他数据库)中字符的转义字符: 字符串常量是通过将字符串括在单引号中形成的 ('). 字符串中的单个引号可以通过放置两个 一行中的单引号-如在Pascal中。使用 不支持反斜杠字符,因为它们不是标准字符 SQL 生成的转义会出现什么错误?正确,这是预期的行为。你的代
当字符串有单引号时,上述代码总是将单引号的数量加倍。例如,
我在“stackoverflow”中询问一个问题
将导致我在“stackoverflow”中询问一个问题
字符是SQLite(和一些其他数据库)中
字符的转义字符:
字符串常量是通过将字符串括在单引号中形成的
('). 字符串中的单个引号可以通过放置两个
一行中的单引号-如在Pascal中。使用
不支持反斜杠字符,因为它们不是标准字符
SQL
生成的转义会出现什么错误?正确,这是预期的行为。你的代码有什么问题吗(抛出异常,没有在数据库中插入行,没有在数据库中插入你期望的内容)?我的老师向我提供了这些代码,它正在工作,但我必须回答的一个问题是,这个双单引号的东西是一个错误,我该如何修复它。@Codinghter那个问题的确切文本是什么?@CL我找到了问题所在。事实上,单引号必须以这种方式转义,所以这个问题的关键就解决了。我现在必须回答的问题似乎与代码本身有关,而不是与转义函数有关,因此,如果需要的话,这是我稍后将寻求帮助的另一个问题。
$id = $_POST['id'];
$text = $_POST['body'];
$id = SQLite3::escapeString($id);
$text = SQLite3::escapeString($text);
$query = "INSERT OR REPLACE INTO messageTable (messageId, userId, body) VALUES ('$id', '$userId', '$text')";
$db->query($query);