【问题标题】:Check in PHP if Select Exists returned 1如果 Select Exists 返回 1,则检查 PHP
【发布时间】:2015-12-15 18:20:30
【问题描述】:

如果我写的话,我知道在 SQL 中

SELECT EXISTS(SELECT 1 FROM userdata WHERE user_id=2);

如果 SQL 成功选择,则返回 1,否则返回 0。

+------------------------------------------------+
| EXISTS(SELECT 1 FROM userdata WHERE user_id=2) |
+------------------------------------------------+
|                                              1 |
+------------------------------------------------+

如何在 PHP 中检查这个?我正在使用 MySQLi。我希望代码看起来像这样……

    $selectbruh = SELECT EXISTS(SELECT 1 FROM userdata WHERE user_id=2);

    if(select returned 1){
        //Do this
    }else if(returned 0){
        //Do this
    }else{
        //Explode into smithereens
    }

【问题讨论】:

  • 你在这里写了很多代码。你能分享一下你实际尝试了什么吗?
  • 另外,您使用哪个 MySQL API 进行连接。 mysql_? mysqli_? PDO?其他?
  • 如果您不分享您实际尝试的内容,我们将无法猜测从哪里开始@SnamakoolL​​P

标签: php mysql


【解决方案1】:

人们很困惑,因为你采取了……嗯……非正统方法,无论是使用 SQL 还是发布代码。您已经说过您正在使用 MySQLi,所以这是您正在寻找的答案:

$query = $db->query('SELECT 1 FROM userdata WHERE user_id = 2;');

if ($query->num_rows) {
    echo "Query returned 1\n";
} else {
    echo "Query returned 0\n";
}

在我看来,您正在尝试验证用户 ID 是否存在,在这种情况下,结果要么是“存在”(1),要么是“不存在”(0)。 //Explode into smithereens 没有空间了,我相信这是件好事 :)

【讨论】:

  • 哈哈谢谢,没想到这么简单!
  • 好的。所以人们说服我使用 PDO instad of mysqli 所以我如何在 PDO 中做同样的事情。
  • 请将新问题作为新问题提出,否则其他人无法发现。
  • 我不能再问一个问题了。我得等两天什么的
  • 好吧,好吧。我不喜欢这样回答,但我也不想让你悬着。所以,你想要这样的东西:$query = $db->query('SELECT 1 FROM userdata WHERE user_id = 2;'); if ($query->fetchColumn()) { echo "Query returned 1\n"; } else { echo "Query returned 0\n"; }
猜你喜欢
  • 2011-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多