正确但不显示结果

时间:2021-08-01 16:22:52

标签: php mysql sql ajax laravel

$sql = "SELECT * FROM one_chat WHERE chat_email = '{$get_mail}' && chat_email = '{$session_email}' ";
<块引用>

查询是正确的,但在 AND 条件下不显示结果,如果使用 OR 运算符,则两个条件都为真并显示两个数据!怎么这么难看!!!

3 个答案:

答案 0 :(得分:0)

我认为使用它并检查它是否给出任何结果

$sql = "SELECT * FROM one_chat WHERE chat_email = '{$get_mail}' AND chat_email = '{$session_email}' ";

基本上尝试用AND替换&&

答案 1 :(得分:0)

根据评论,此 var 值 ( $get_mail ) 为 null ,并且您尝试选择条件为 this ( chat_email = '{$get_mail}' AND chat_email = '{$session_email}') 的数据, 您需要 chat_email 为 null 并且另一个值来自 session 。 您可以将条件更改为“或”

或者,如果这两个变量在您的业务中具有相同的值,您可以这样做:-

$email = !empty($get_mail) ? $get_mail : $session_email;
$sql = "SELECT * FROM one_chat WHERE chat_email = '{$email}'";

答案 2 :(得分:0)

您也可以像这样更改您的查询

$sql = "SELECT * FROM one_chat WHERE chat_email = COALESCE('{$get_mail}','{$session_email}')";
相关问题