返回相当于只返回一个值的SELECT的字符串

时间:2016-02-03 09:17:33

标签: php sql mysqli

我有一个SELECT查询只返回一个值(不是一行,而只是一个“东西”)。它看起来像

SELECT IF( EXISTS( SELECT * FROM `Blah` WHERE <whatever> ), 1, 0);

我尝试摆弄mysqli_result::fetch_assocmysqli_result::fetch_objectmysqli_result::fetch_array,而且所有这些都非常奇怪。是否有mysqli_result::fetch_string这样的特殊情况只输出一个我可以调用intval的字符串?

2 个答案:

答案 0 :(得分:3)

你可以这样做:

SELECT IF( EXISTS( SELECT * FROM `Blah` WHERE <whatever> ), 1, 0) AS exists;

并使用上述任何功能获取行号0&#39; s&#39;存在&#39;柱。

答案 1 :(得分:3)

以及casraf的回答,另一种选择可能是将计数纳入其中 - 你可能想知道以后有多少blah符合你的标准。当您在几年内重新访问代码时,可能会更容易回读。

SELECT count(*) cnt FROM `Blah` WHERE <whatever>

您可以对&#34; cnt&#34;进行布尔检查。变量(即0的计数= = false),但也用它来找出你有多少匹配。