Php 从两个以上的表中选择数据的简便方法

Php 从两个以上的表中选择数据的简便方法,php,mysql,mysqli,Php,Mysql,Mysqli,我想在我的mysql数据库中选择一些行,我有3个不同结构的表(但每个表都有相同的列“command”),我尝试使用我创建的脚本,这是可行的,但它似乎占用了我脚本中太多的行 <?php $check1 = mysqli_query($con, "SELECT * FROM text WHERE keyword='$string'"); $check2 = mysqli_query($con, "SELECT * FROM sticker WHERE keyword='$string'");

我想在我的mysql数据库中选择一些行,我有3个不同结构的表(但每个表都有相同的列“command”),我尝试使用我创建的脚本,这是可行的,但它似乎占用了我脚本中太多的行

<?php
$check1 = mysqli_query($con, "SELECT * FROM text WHERE keyword='$string'");
$check2 = mysqli_query($con, "SELECT * FROM sticker WHERE keyword='$string'");
$check3 = mysqli_query($con, "SELECT * FROM image WHERE keyword='$string'");
if(mysqli_num_rows($check1) == 0 && mysqli_num_rows($check2) == 0 && mysqli_num_rows($check3) == 0) {
    echo "success";
}
?>

您应该使用“join”查询从所有不同的表中获取所有数据,其中“command”与check1=0相同,然后使用mysql
join
子句。 这将返回3个表中的所有数据,并将结果作为单个数据集进行交互

SELECT*FROM table1 JOIN table2 ON table1.keyword=table2.keyword JOIN table3 ON table3.keyword=table1.keyword

如果两个表中都有类似的列,则在从查询返回时需要对它们进行别名,以防止冲突


从表1中选择表1.column、表2.column,然后在表1上连接表2。关键字=表2。关键字连接表3上的表3。关键字=表1.keyword

代码行的数量永远不是代码质量的良好指标。您可能需要更多的行来编写代码。除此之外:这个代码实现了什么?当
$string
在三个表中都没有作为
关键字存在时,为什么会出现“success”?