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

标签 php mysql search multiple-tables

我是 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>";
              }

            } 
        }
    ?>

最佳答案

使用 INNER JOIN

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 .

关于PHP/MYSQL 从一个表获取引用,然后从另一个表获取结果。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149430/

相关文章:

php 使用上一页中的参数选择查询

php - echo json_encode($return_data, JSON_NUMERIC_CHECK);数字中的字符 'e' 不起作用

php - 修改 JSON 数据格式以用于 FLOT 图表

ruby-on-rails - rails : Combine multiple tables search conditions

string - 根据值搜索对象中的未知属性

c++ - 在 BST 中搜索节点时出现段错误

php - 将多个数据从表发送到 PHP

php - 如何上传多张图片并插入mysql的同一行

MySQL日期查询语法

mysql - 每条街道的 LibreOffice Calc 电子表格 : Find highest house number, 并仅显示这些行