[英]How can i check if the mysql query returns null
在這里,我想檢查此function()中的查詢是否返回null。
function ifproductValid($productID){
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT product_publish_status FROM product_list WHERE product_id='$productID'";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc()) {
//here i want to check if the result is null or not
if($product_status == 1){
return true;
} else {
return false;
}
}
} else {
echo "No results found";
}
$conn->close();
}
基於結果,我想從此函數返回true或false。 我該如何檢查?
while($row = $result->fetch_assoc()) {
if (is_null($row)) {
// do something here
}
if($product_status == 1){
return true;
} else {
return false;
}
}
} else {
echo "No results found";
只要您只想從數據庫中獲取一行,就不需要花一段時間來迭代結果。 我會做這樣的事情:
function ifproductValid($productID){
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$response = false;
if($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}
$sql = 'SELECT product_publish_status
FROM product_list WHERE product_id=' . $productID;
$result = $conn->query($sql);
if($result->num_rows > 0){
$dbResult = $result->fetch_assoc();
if(!is_null($dbResult[0] && $dbResult[0]['product_publish_status'] == 1){
$response = true;
}
}
$conn->close();
return $response;
}
如果只想確保數據庫行永遠不會為空,則可以在sql上指定它,這樣以后就不必修改它了。
$sql = 'SELECT product_publish_status
FROM product_list
WHERE product_id = ' . $productID . '
AND product_publish_status IS NOT NULL';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.