2011-05-19 41 views
0

PHP MySQL查询搜索我有这样的代码有两个参数

$sql5 = "SELECT * FROM iptable 
       WHERE user_id = '$userid_c' AND ip = '$ip' LIMIT 0, 30 "; 
$query5=mysql_query($sql5); 
$row_ip_a = mysql_num_rows($query5); 

当我使用这个从phpmyadmin的返回优秀成果,但是当我用它从PHP它总是返回一行。

可能是什么原因?

+0

您是否尝试过没有LIMIT? – pintxo 2011-05-19 08:22:54

+0

请注意[SQL注入](http://php.net/manual/en/security.database.sql-injection.php);) – Znarkus 2011-05-19 08:22:56

+0

请详细说明! 你的变量是什么?你的数据库里有什么?这些变量分配是否正确? – Tim 2011-05-19 08:23:02

回答

0

mysql_num_rows - 取得结果中的行数

<?php 
$result = mysql_query("SELECT * FROM table1", $link); 
$num_rows = mysql_num_rows($result); 

echo "$num_rows Rows\n";?> 

ü需要这样的: mysql_fetch_array - 从结果集中取得一行作为关联数组,数字数组,或二者

你的代码只是影响行数的产量, 其中您需要选择查询的数据

因此您可以使用mysql_fetch_array作为:

$result = mysql_query("SELECT id, name FROM mytable"); 

while ($row = mysql_fetch_array($result)) { 
    printf("ID: %s Name: %s", $row[0], $row[1]); 
} 
+0

我没有明白,或者你没有明白我的意思。总之,我想要的是得到不。查询中的行“匹配2个值” – kritya 2011-05-19 12:35:40

0

没有看到您的数据集,很难看到您是否得到相同的结果。

假设当你把它放在PHPMyAdmin中,你用手动值填入$userid_c$ip?尝试插入这些手动值而不是上面的变量,然后查看是否有效(如果是这样,那么变量有问题)。

+0

不工作。一切都是默认的:o。 – kritya 2011-05-19 09:10:18