我的数据库中有一个名为accessories_other的表。在表格中,我有专栏:
1)项目 2)可用
这是关于各列中数据的说明。
鼠标
键盘
电缆
4
6
3
问题是,我想选择Item ='Mouse'和'Available'= 4。如果可用鼠标小于5,它将向我发送电子邮件以进行下一步。但是我一直坚持到这个阶段。
这是我创建的SQL语句,它计算“可用”列的每一行,如果“可用”列的行小于5,则发送电子邮件,这不是我想要的。
$sql ="SELECT Item, Available FROM accessories_other WHERE Item ='Mouse'
AND Available <5";
我该怎么做才能检索小于5的可用性鼠标。
答案 0 :(得分:0)
这只是为了说明如何做到这一点。你应该使用MySQLi 或PDO。此外,如果在生产环境中,你不应该 向用户显示MySQL错误。
你可以这样做:
// SQL to find Available value for Item Mouse
$sql = "SELECT Item, Available FROM accessories_other
WHERE Item = 'Mouse'";
$result = mysql_query( $sql ) or die( 'Query failed.'.mysql_error() );
$row = mysql_fetch_array( $result ) ;
if( mysql_num_rows( $result ) > 0 )
{
echo $row['Item'] ,': ' ,$row['Available'];
if( $row['Available'] < 5 )
{
// Code to send email
}
else
{
// Code to what ever you would like to do here
}
}
或
// SQL to find Available value for Item Mouse if it is less than 5
$sql = "SELECT Item, Available FROM accessories_other
WHERE Item = 'Mouse' AND Available < 5";
$result = mysql_query( $sql ) or die( 'Query failed.'.mysql_error() );
if( mysql_num_rows( $result ) > 0 )
{
// Code to what ever you would like to do here
}
else
{
echo $row['Item'] ,': ' ,$row['Available'];
// Code to send email
}
答案 1 :(得分:0)
我认为你的查询不会显示小于5的鼠标结果。 我建议你试试:
$sql ="SELECT Item, Available FROM accessories_other WHERE Item ='Mouse';
然后,尝试用另一种语言实现您的代码.. 如果我没弄错的话,你正在使用php ..
答案 2 :(得分:0)
如果您在此处显示的表“配件”中有数据,则您的查询应该只返回一行。除非你有多个行重复,如Item ='Mouse'且相同或不同的值也小于5,那么只有查询才会返回多个结果。 另外请注意,在解释中您使用表“配件”但在示例查询中您使用了表“accessories_other”。确保你正在对抗正确的桌子。