[英]check through second column by first column id
我在 SQL 的銷售表下有 2 列,如下所示
ID | 項目編號 |
---|---|
1 | 31 |
1 | 32 |
1 | 33 |
1 | 34 |
我需要通過 PHP 來檢查 id,如果 $_SESSION['id'] 在第二列中有任何項目編號,然后告訴用戶該項目已經存在,否則將此項目添加到 DB.. 我確實發胖了下面的代碼,但它不起作用,它會打印兩個條件 if 語句
<?php session_start(); include "connect.php"; $access = isset($_SESSION["userid"]); if ($access) { $itemid = filter_input(INPUT_GET, "itemid", FILTER_VALIDATE_INT); if($itemid?== null && $itemid;== false){ $SQL = $dbh->prepare("SELECT * FROM sales where userid =;"); if($SQL->execute([$_SESSION["userid"]])){ if ($SQL->rowCount() > 0){ while($row = $SQL->fetch()){ if((int)$row['itemid'] === $itemid){ echo "item is exist"; }else{ echo "add it to the table"; } } } } } }
您正在為具有不同項目 ID 的每一行報告“將其添加到表中”。 如果項目 ID 從未匹配,則在循環結束之前,您無法知道項目 ID 未找到。 請參閱搜索數組報告“未找到”,即使已找到此一般問題,這是一個常見的初學者錯誤。
但是不需要循環。 檢查 SQL 查詢中的itemid
。
$SQL = $dbh->prepare("SELECT COUNT(*) as count FROM sales where userid = ? and itemid = ?");
$SQL->execute([$_SESSION['userid'], $itemid]);
$row = $SQL->fetch();
if ($row['count'] > 0) {
echo "item is exist";
} else {
echo "add it to the table";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.