比较mysql中的同一列时出错

时间:2012-07-24 07:44:31

标签: php mysql

我从列中获取值作为整数的值,并为两个用户执行此操作,因此我尝试从表中获取值并进行比较但不幸的是,对于更大和更小的比较我得到相同的结果改变。

如何比较列值?

我的代码如下-----

$sqlres="select membership from register where mid='".$_SESSION['mid']."' ";
$pres=mysql_query($sqlres); 
$prest=mysql_fetch_array($pres);
$sqlres1="select membership from register where matri_id='".$row['mtr_id']."' ";
$pres1=mysql_query($sqlres);    
$prest1=mysql_fetch_array($pres);


if($pres<$pres1)
{
//somethiung   enter code here
}

3 个答案:

答案 0 :(得分:0)

首先不要使用mysql_ *它已被弃用,而是使用mysqli_ *或PDO。

至于你的问题,mysql_fetch_array顾名思义,返回一个数组,而不是一个值,所以你需要得到数组中的第一个值:

if($pres[0]<$pres1[0])
{
//somethiung   enter code here
}

答案 1 :(得分:0)

您将结果保存在$ perst和$ prest1(带“t”)中,而不是$ pres和$ pres1。我建议始终对查询字符串使用变量$ query,为结果表使用$ result。只有在获取结果时,才应使用自定义变量名称,以免混淆。

您可以使用类似

的内容
if($prest['membership']<$prest1['membership']){//do stuff here}

答案 2 :(得分:-1)

在您提供的代码段中,您正在比较mysql_query返回的资源而不是列的值。你必须这样做:

if( $prest['membership'] < $prest1['membership'] ){
  //Some stuff going here
}

建议:正确命名变量。使用更多描述名称。 2个月后,您将无法记住$prest$prest1

之间的区别