我想在我的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";
}
?>
还有另一种方法可以缩短我的脚本吗?谢谢:)
答案 0 :(得分:0)
您应该使用“ join”查询从“ command”与check1 = 0相同的所有不同表中获取所有数据
答案 1 :(得分:0)
使用mysql JOIN
子句。
这将返回3个表中的所有数据,并且您将结果作为单个数据集进行交互。
SELECT * FROM table1 JOIN table2 ON table1.keyword = table2.keyword JOIN table3 ON table3.keyword = table1.keyword;
如果两个表中都有相似的列,则在从查询返回它们时需要对它们进行别名命名,以防止发生冲突。
SELECT table1.column, table2.column FROM table1 JOIN table2 ON table1.keyword = table2.keyword JOIN table3 ON table3.keyword = table1.keyword;