2012-04-26 135 views
0

我有一个查询的第二列中,PHP中,检查是否有结果是在MySQL结果

$theresult = mysql_query("SELECT * FROM table WHERE column_b = ".$variable); 

所以这将产生的结果,3列的列表。

我想要做的是检查是否有任何结果行的列有“27” C.

我不想要的结果,只是一个真/假..

谢谢!

+2

延长'WHERE'条款并检查塔C 27. http://dev.mysql.com/doc/refman/5.5/en/select.html – hakre 2012-04-26 08:05:28

+0

只是为了检查,你显然通过'mysql_real_escape'获得了'$ variable'的值,对吧? SQL注入是你想要抵御的东西! – Romain 2012-04-26 08:07:31

回答

0

嗨,我想你想检查任何行的C列有值27或不获取结果PHP。 。然后

1.如果您可以添加条件column_c = 27,然后使用行计数mysql_num_rows在结果

$result = mysql_query("select * from table where column_b = ".$variable." AND column_c = 27") or die(mysql_error()); 

if($result){ 
    if(mysql_num_rows($result) > 0){ 
    echo "true"; 
    }else{ 
    echo "false"; 
    } 
} 

2.如果您不想在MySQL查询更改然后

$result = mysql_query("select * from table where column_b = ".$variable."") or die(mysql_error()); 

$exist = "false"; 

if($result){ 
    while($row = mysql_fetch_array($result)){ 
     if($row['column_c'] == 27){ 
     $exist = "true"; 
     } 
    } 
} 
echo $exit; 
0

更改查询:

"SELECT * FROM table WHERE column_b = ".$variable." AND colc = 27" 
0
SELECT COUNT(*) FROM table WHERE column_b = 'var' AND column_c = 27 

返回匹配的行数。如果没有匹配的行,你会得到0

0

试试这个:

$theresult = mysql_query("SELECT * FROM table WHERE column_b = ".$variable . " AND column_c=27"); 
if (mysql_num_rows($theresult) == 0) echo "False/True"; 
+0

抱歉,我应该说我正在另一个函数内部运行此,我也需要保留INTIAL查询结果.. – 2012-04-26 08:12:17