簡體   English   中英

通過第一列 id 檢查第二列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM