在 MySQL 表的列中查找值并打印返回

我有桌子cars,里面有两个字段year和chat_id


我里面有两条记录:


2019 | 1234

2018 | 1111

如何在表内搜索chat_id == 1234并返回(1如果存在)0?我怎样才能打印这个?


我试过这个但不起作用:


$chat_id= 1234;


$query= "SELECT IF(chat_id == $chat_id,0,1) AS return FROM cars";

$return_id= mysqli_query($connection, $query);

print_r($return_id);


呼啦一阵风
浏览 241回答 2
2回答

明月笑刀无情

要检查是否存在,您无需从数据库中选择任何数据。如果存在,您可以只获取 1 否则它将返回NULL。此外,您应该始终记住使用准备好的语句,并且永远不要将 PHP 变量注入 SQL 查询。$chat_id = 1234;$stmt = $connection->prepare('SELECT 1 FROM cars WHERE chat_id = ?');$stmt->bind_param('i', $chat_id);$stmt->execute();// fetch the first column from the first row as an integer$return_id = (int) $stmt->get_result()->fetch_row()[0];

HUH函数

您可以使用mysqli_num_rows检查记录是否存在和WHERE子句来过滤结果。$chat_id= 1234;$query= "SELECT chat_id FROM cars WHRE chat_id = '$chat_id'";$return_id= mysqli_query($connection, $query);$rowcount = mysqli_num_rows($return_id);echo $rowcount; // Will return total number of rows matched else will return zero
打开App,查看更多内容
随时随地看视频慕课网APP