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 RecordUpdated Record Instance 1同樣,如果我插入一行INSERT INTO test (id, status) VALUES ('1', '0');我得到相同的結果Inserted RecordUpdated Record Instance 1那么如何正確檢查位0和無返回結果之間的差異呢?
1 回答

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
這會做
$stmt = $db-> prepare("SELECT status FROM test WHERE id = '1'");
$stmt -> execute();
$status = $stmt->fetch(PDO::FETCH_ASSOC);
if ($status === false) {
// no record exists so lets INSERT a record
echo 'Inserted Record<br>';
} else if ($status["status"] == 0) {
// Update record
echo 'Updated Record Instance 1<br>';
} else if ($status["status"] == 1) {
//update record
echo 'Updated Record Instance 2<br>';
}
- 1 回答
- 0 關注
- 101 瀏覽
添加回答
舉報
0/150
提交
取消