我是PHP新手。我已经做了以下工作,并且它是有效的,但我只是认为必须有一个更好的方式来做这件事,我所做的是非常肮脏的黑客。
因此,我有一个字典,每个单词都有一个对应于另一个表中另一个单词的引用。我希望搜索的Ar字在AR表中进行搜索,以查看是否存在匹配。如果是,则返回该单词的引用,然后转到EN表并搜索该引用是否存在。然后返回具有该参考数字的所有单词。下面的代码可以完成这项工作,但我想知道是否有更好的方法。
<?php
if (!empty($_POST)){
$word = $_POST["word"];
$result = mysql_query("SELECT ref FROM en_a_ar WHERE ar = '$word'");
while($row = mysql_fetch_array($result)) {
$searchRef = $row['ref'];
$searchResult = mysql_query("SELECT en FROM en_a WHERE ref = '$searchRef'");
while($row = mysql_fetch_array($searchResult)) {
echo $row['en'];
echo "<br>";
}
}
}
?>发布于 2014-10-02 04:02:41
SELECT
en_a.en
FROM
en_a
JOIN
en_a_ar
ON
en_a_ar.ref = en_a.ref
WHERE
en_a_ar.ar = '$word'正如其他人所说,您需要清理输入$word,因为它来自客户端并创建一个SQL Injection Vulnerability。
https://stackoverflow.com/questions/26149430
复制相似问题