如果 SQLITE 数据库中存在项目,则返回 BOOLEAN 值

jed*_*ddi 5 sqlite

如果数据库中存在行,我需要返回布尔值 TRUE 或 FALSE。没有其他的。使用下面的代码不会返回任何布尔值!正确的语法是什么?

$EntryExistsBoolean = $db->query("SELECT name FROM myTable WHERE EXISTS (SELECT name FROM myTable WHERE company=SmartCo");

if ($EntryExistsBoolean === false)
    {
        echo "Item does not exist in the database";
    }
    else
    {
        echo "Item found in the database";
    }
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 2

您当前的查询存在语法问题,因为字符串文字没有正确的引号。不过我会使用这个查询:

SELECT EXISTS (SELECT 1 FROM myTable WHERE company = 'SmartCo')
Run Code Online (Sandbox Code Playgroud)

如果您的表中至少有一条该公司所在的记录,则会返回此信息SmartCo。否则,它将返回 false。

$sql = "SELECT EXISTS (SELECT 1 FROM myTable WHERE company = 'SmartCo')";
$EntryExistsBoolean = $db->query($sql);
if ($EntryExistsBoolean === false) {
    echo "Item does not exist in the database";
}
else {
    echo "Item found in the database";
}
Run Code Online (Sandbox Code Playgroud)