根据字符串内容查询数据库中的记录!急!!
已知一个字串符:$t="0,1,2,3,4,5,6,7,8,9";
用以下方法查询出来的内容只有$t的最后一个元素的记录。即只能查出id=9的记录。而我需要查的是0,1,2,3,4,5,6,7,8,9共10条记录。程序应该怎么写?
$query = $db->query("SELECT * FROM mytable WHERE id in ($t)");
问题点数:20、回复次数:6Top
1 楼Fufay(☆梅笑寒☆ MSN: fufay@126.com)回复于 2006-03-03 13:43:27 得分 2
不会吧,我这样做就能查出我要的结果。Top
2 楼gu1dai(异域苍穹.百年飞行)回复于 2006-03-03 13:55:07 得分 2
看不出来楼主的sql有问题。你是什么数据库?Top
3 楼jsingsoft(喃人)回复于 2006-03-03 14:43:54 得分 0
$query = $db->query("SELECT * FROM mytable WHERE id in (1,2,3,4,5,6,7,8,9)");
$myrow = $db->fetch_array($query);
print_r($myrow['name']);
只显示:
Array ( [id] => 1 [name] => 孙雷 [class] => 2 [num] => 32 [gender] => male )
而我需要编号1到9的全部记录,应该怎么做?Top
4 楼mysqlaping(处女主任的兄弟)回复于 2006-03-03 15:16:33 得分 12
是不是你的id只有9阿
下面是我测试的
<?php
$conn = mysql_connect("localhost","root","778899") or die("can't connect to the server");
mysql_select_db("shop",$conn);
$t="1,2,3,4,5,6,7,9";
$sql = "select * from users where userid in ($t)";
$result = mysql_query($sql);
while($rows = mysql_fetch_array($result))
{
echo $rows['userid'].",".$rows['username']."<br>";
}
?>
输出结果:
1,mysql
2,admin_1
4,ff
5,104g
6,mysqlaping
7,mysql1
9,aaTop
5 楼aniude(重返荣耀)回复于 2006-03-03 17:10:25 得分 2
只显示:
Array ( [id] => 1 [name] => 孙雷 [class] => 2 [num] => 32 [gender] => male )
而我需要编号1到9的全部记录,应该怎么做?
=========
这样说你的数据库ID不能有1-9这九种可能把,你查了数据库没有Top
6 楼Fufay(☆梅笑寒☆ MSN: fufay@126.com)回复于 2006-03-04 11:01:11 得分 2
呵呵,那只能说明,你的table里面只有ID=9的记录。Top




