[英]why does my function login Curl always return true? CodeIgniter
[英]Why does this function always return true even if it shouldn't?
我有一個 function 遍歷product
數據庫表,如果有行的supplierid
ID 和name
與參數匹配,則返回 true。
但它總是返回 true,即使它不應該。
function checkifhoused($productname, $supplier)
{
$db = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
$sql = "SELECT * FROM " . TBL_PRODUCTS;
$result = mysqli_query($db, $sql);
while ($row = $result->fetch_assoc()) {
if ($row['supplierid'] == $supplier and $row['name'] == $productname) {
return true;
}
}
return false;
}
首先:我可以建議你使用 PDO 擴展。 它有更好的變量綁定選項。 第二:正如@pavel & Ro Achterbeg 在他們的評論中提到的,您不需要從數據庫表中獲取所有行,但只檢查帶有針參數的記錄是否存在
<?php
define('TBL_PRODUCTS', 'TBL_PRODUCTS');
function checkifhoused($db, $productname, $supplier)
{
$sql="SELECT * FROM ".TBL_PRODUCTS." WHERE name = ? AND supplierid = ? ";
$stmt = $db->prepare($sql);
$result = $stmt->execute([$productname, $supplier]);
return $stmt->rowCount() > 0;
}
var_dump(checkifhoused($pdo, 'productname', 1));
var_dump(checkifhoused($pdo, 'other_productname', 1));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.