如何在php中从sql查询中检索单个值

如何在php中从sql查询中检索单个值,php,mysql,Php,Mysql,我试图通过在PHP中使用sql查询从数据库中检索单个整数值来检查条件是否为真。。这是代码- $stmt = $dbo->prepare("SELECT Qty FROM sample.stock WHERE stock_ID=$s_stock_ID AND component='$component' LIMIT 1"); if ($stmt->execute(array($_GET['Qty']))) { $Q = $_GET['Qty']; while ($row

我试图通过在PHP中使用sql查询从数据库中检索单个整数值来检查条件是否为真。。这是代码-

$stmt = $dbo->prepare("SELECT Qty FROM sample.stock WHERE stock_ID=$s_stock_ID AND component='$component' LIMIT 1");
if ($stmt->execute(array($_GET['Qty']))) 
{ 
   $Q = $_GET['Qty'];
   while ($row = $stmt->fetch()) 
   {
    print_r($row);
   } 
}

if($Qty <= $Q) // comparison of integers
    { 
     echo "success";
    }
else
{
 echo "failed";
}
$stmt=$dbo->prepare(“从sample.stock中选择数量,其中stock_ID=$s_stock_ID,component='$component'LIMIT 1”);
如果($stmt->execute(数组($\u GET['Qty']))
{ 
$Q=$_获取['Qty'];
而($row=$stmt->fetch())
{
打印(行);
} 
}

如果($Qty我已更新了您的代码以添加Try/Catch块。您还需要将Qty移动到while循环中。您可以将其作为对象或数组获取。在下面的示例中,我将其作为对象获取

    $Q = $_GET['Qty'];
    $sql = "SELECT Qty FROM sample.stock WHERE stock_ID=$s_stock_ID AND component='$component' LIMIT 1";

    $stmt = $dbo->prepare( $sql );

    try {
        $stmt->execute( array($_GET['Qty']) );
        while ($row = $stmt->fetch(PDO::FETCH_OBJ)) 
        {
            if( $row->Qty <= $Q ) { 
                echo "success";
            } else {
                echo "failed";
            }
        }
    } catch (PDOException $e) {
        print $e->getMessage();
    }
$Q=$\u获取['Qty'];
$sql=“从sample.stock中选择数量,其中stock_ID=$s_stock_ID,component='$component'LIMIT 1”;
$stmt=$dbo->prepare($sql);
试一试{
$stmt->execute(数组($\u GET['Qty']);
while($row=$stmt->fetch(PDO::fetch_OBJ))
{
如果($row->Qty getMessage();
}

您是否遇到错误?使用
$row->Qty
其中Qty是您的列名,如果您以数组形式获取,请使用$row['Qty']。希望如此helps@MattiasLindberg我不知道有什么错误,因为我正在简单的记事本上编写脚本。输出是“失败”的,它不是
$Qty
,而是
$row->Qty
,循环内部也是如此。@Hanky웃Panky$Qty是全局声明的,其中包含一些整数值。如果没有输出检查,请打印($row)输出的数据,并将其粘贴到此处。请显示(2){[“Qty”=>字符串(1)“1”=>字符串(1)“1”}数组(2){[“Qty”]=>字符串(3)“160”[0]=>字符串(3)“160”}数组(2){[“Qty”=>字符串(3)“122”[0]=>字符串(3)“122”}数组(2){“Qty”]=>字符串(3)“208”[0]=>字符串(3)“208”}数组(2){[“数量”=>字符串(3)“302”[0]=>字符串(3)“302”}数组(2){[“数量”=>字符串(3)“111”[0]=>字符串(3)“111”}数组(2){[“数量”]=>字符串(3)“334”=>字符串(3)“333”{“数量”=>字符串(3)”数组(2){“333数组(2){[“数量”]=>字符串(1)“1”}将
$row->Qty
更改为
$row['Qty']
在您的代码中,看起来您并没有设置此
$stmt->fetch(PDO::fetch_OBJ)
,否则代码会起作用。请确保通过单击复选框(否决票下的内容)接受答案