首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/MYSQL从一个表中获取引用,然后从另一个表中获得结果。

问PHP/MYSQL从一个表中获取引用,然后从另一个表中获得结果。
EN

Stack Overflow用户
提问于 2014-10-02 03:51:12
回答 1查看 133关注 0票数 0

我是PHP新手。我已经做了以下工作,并且它是有效的,但我只是认为必须有一个更好的方式来做这件事,我所做的是非常肮脏的黑客。

因此,我有一个字典,每个单词都有一个对应于另一个表中另一个单词的引用。我希望搜索的Ar字在AR表中进行搜索,以查看是否存在匹配。如果是,则返回该单词的引用,然后转到EN表并搜索该引用是否存在。然后返回具有该参考数字的所有单词。下面的代码可以完成这项工作,但我想知道是否有更好的方法。

代码语言:javascript
复制
<?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>";
              }

            } 
        }
    ?>
EN

回答 1

Stack Overflow用户

发布于 2014-10-02 04:02:41

使用INNER JOIN

代码语言:javascript
复制
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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26149430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档