如何在php中从sql查询中检索单个值
我试图通过在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
$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)
,否则代码会起作用。请确保通过单击复选框(否决票下的内容)接受答案