如何正确检查位 0 和无返回结果之间的差异

CREATE TABLE test (id SERIAL PRIMARY KEY, status BIT(1));

上面创建了表


$stmt = $db->prepare("SELECT status FROM test WHERE id = '1'");

$stmt->execute();

$status = $stmt->fetchColumn();

上面的调用表


if($status == false) { 

  // no record exists so lets INSERT a record

  echo 'Inserted Record<br>';

}

if($status == '0') {

  // Update record

  echo 'Updated Record Instance 1<br>';

}

if ($status == '1') {

  //update record

  echo 'Updated Record Instance 2<br>';

}

当表中没有返回结果时,我得到输出


Inserted Record

Updated Record Instance 1

同样,如果我插入一行


INSERT INTO test (id, status) VALUES ('1', '0');

我得到相同的结果


Inserted Record

Updated Record Instance 1

那么如何正确检查位0和无返回结果之间的差异呢?


慕妹3146593
浏览 79回答 1
1回答

慕勒3428872

这会做$stmt = $db-> prepare("SELECT status FROM test WHERE id = '1'");$stmt -> execute();$status = $stmt->fetch(PDO::FETCH_ASSOC);if ($status === false) {&nbsp;&nbsp; // no record exists so lets INSERT a record&nbsp; echo 'Inserted Record<br>';} else if ($status["status"] == 0) {&nbsp; // Update record&nbsp; echo 'Updated Record Instance 1<br>';} else if ($status["status"] == 1) {&nbsp; //update record&nbsp; echo 'Updated Record Instance 2<br>';}
打开App,查看更多内容
随时随地看视频慕课网APP