我尝试从数据库中检索 int 类型并将其与 $_Get value 进行比较
这是用户单击按钮时的代码
if(isset($_GET['btn_placeorder']))
{
$Quantity_Ordered=(int)$_GET['Quantity_Ordered'];
**# retreivng another value from function to compare it as integer**
$number= (int)$auth_user->Blood_Bankavaliable ($Blood_BankID,$Type_Ordered);
try
{
if ($Type_Ordered=="" || $Quantity_Ordered=="")
{
$error[] = "Valid data is required!";
}
else if($Quantity_Ordered >$number) {
$error[] = "This Number is not avaliable in our Stock !";
}
这是该函数的代码
function Blood_Bankavaliable($blood_bankID,$Type_Ordered) {
global $conn;
# query for getting the value from the database
$query = "select sum(Blood_quantity) as d from Donor_Blood_Bank where Blood_Type=$Type_Ordered and blood_bankID= $blood_bankID";
try {
$statement = $this->conn->prepare($query);
$statement->execute();
$result = $statement->fetchall;
return $result;
} catch(PDOException $e)
{
echo $e->getMessage();
}
}
我不知道我的代码有什么问题,有什么帮助吗?
最佳答案
首先,它应该是 $result = $statement->fetchAll();
(函数或方法),而不是 $result = $statement->fetchall
(属性)。
第二,请阅读manul , fetchall()
返回一个数组。因此你不能直接将其转换为 int 。运行 print_r( $auth_user->Blood_Bankavaliable($Blood_BankID,$Type_Ordered) );
查看您自己。
关于php - 尝试从函数中检索 int 类型并将其与 $_Get 值进行比较(mysql PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47690039/