为了账号安全,请及时绑定邮箱和手机立即绑定

PHP - 如何使代码在同一数据库上的 2 个不同表上进行搜索

PHP - 如何使代码在同一数据库上的 2 个不同表上进行搜索

PHP
长风秋雁 2021-09-18 16:16:52
我正在用俚语制作拼写检查应用程序。如果复选框被选中,代码将搜索 english_table 和 slang_table。否则它只会在 english_table 上搜索。我试过使用 if 语句,但它似乎是错误的。$sql = "SELECT * FROM english_table WHERE engwords LIKE '".$partcheck."'";$sql1 = "SELECT * FROM slang_table WHERE words LIKE '".$partcheck."'"; if statement if checkedif($result = mysqli_query($con, $sql){...}elseif($result = mysqli_query($con, $sql1){...}我的期望是,如果选中该复选框,代码将从两个表中搜索匹配的单词,否则只会在 english_table 上搜索。我该怎么做呢?
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

您可以有条件地运行 Union ALL:


$likePartcheck = '%' . $partcheck . '%';


$query = "SELECT * from english_table WHERE engwords LIKE ?" . ($_GET['checkbox'] ? " UNION ALL SELECT * FROM slang_table WHERE words LIKE ?" : "");


$stmt = $mysqli->prepare($query);


if ($_GET['checkbox']) {


    $stmt->bind_param('ss', $likePartcheck, $likePartcheck);


} else {


    $stmt->bind_param('s', $likePartcheck);


}


$stmt->execute();

或者,如果您希望将结果分开,只需运行两个查询并根据需要组合结果。


查看完整回答
反对 回复 2021-09-18
  • 2 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信