gpt4 book ai didi

php - 从 php 的 mysql 查询中转义字符

转载 作者:行者123 更新时间:2023-11-29 13:15:21 25 4
gpt4 key购买 nike

我有一个 php 页面,它显示来自 mysql 表的信息,如下所示

$query = "SELECT * FROM `diccionary` WHERE `entry` LIKE 'a%' ORDER BY `entry`";

我将每个结果用作对不同 php 文件的第二个查询的输入:

$escaped = mysql_real_escape_string($row['entry']);
echo "<a href=editor.php?entry=$escaped>".$row['entry']."</a> |

此页面返回的一些单词具有以下格式,并且以这种方式返回:
字1 字2
词'
词+
字(-)

但它们在 href=editor.php?entry=$escaped 部分没有正确发送,实际上只有以撇号结尾的可以,因为我使用的是“mysql_real_escape_string”函数,我尝试将其他转换为转义字符,但它不起作用,例如 ("+", "+", $row['entry'])。这些是我在所有这些情况下看到的链接:

2 个单词 = editor.php?entry=word1 (没有后面的空格或 word2,这会返回与 word1 匹配的所有单词(如果有的话),但不是 word1 word2 的复合词)。

word' = editor.php?entry=word\' (由于该功能,这是正确的,并且它也返回了正确的单词)。

word+ = editor.php?entry=word+ (+ 应该被转义,因为如果我单击生成的链接,它不会给我任何结果,空白页)。

word (-) = editor.php?entry=word (这类似于2个单词的情况,除了它有括号也应该转义之外,这也会产生空白页)。

我一直在寻找,只能找到修复撇号的方法,我不知道如何修复其余的情况,任何帮助都是有值(value)的。

非常感谢。

最佳答案

您需要对数据进行 URL 编码,以便输出到 HTML href 属性中。

$query_string = urlencode($row['entry']);
echo "<a href=editor.php?entry=$query_string".$row['entry']."</a> |

mysql_real_escape_string 函数用于转义数据以用于 MySQL 查询,而不是用于查询结果。

关于php - 从 php 的 mysql 查询中转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21533187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com