我有一个文件file.php
,在我的文件中,我使用下面的代码从我的数据库中提取一些数据并显示一些信息。
我的代码是
$array = $_GET['theurl']; // My url looks like myfile.php?theurl=1,2,3 (id,s)
$sqlnt4 = "select * from mytable WHERE `id` IN ($array)";
$rsdt4 = mysql_query($sql);
$tc4a = mysql_fetch_assoc($rsdt4);
$mycomma4 = ",";
if ($tc4a['a_youtube'] == "#"){
}else{
while ($tc4 = mysql_fetch_assoc($rsdt4))
{
echo $tc4['a_youtube'];
echo ",";
}
}
我希望在我的while函数中回显两个id's
(在数组中)的信息,但它只返回第一个结果。
有什么想法吗?
答案 0 :(得分:4)
我对$sql
:
$sqlnt4 = "select * from mytable WHERE `id` IN ($array)";
$rsdt4 = mysql_query($sql);
下面更改后可以看一下:
$sqlnt4 = "select * from mytable WHERE `id` IN ($array)";
$rsdt4 = mysql_query($sqlnt4);
答案 1 :(得分:2)
首先,它极易受到安全问题的影响 - 我希望这不会在制作中使用,只是为了玩游戏。
我建议切换到PDO,或者至少保护变量。
要将该数组放入查询中,您需要将其内爆到列表中。
$list = implode(',', $array);
然后,您可以在语句中使用该列表,该列表看起来像1,2,3
。
修改强>
我刚刚意识到你的$数组值实际上并不是一个数组 - 你错过了代码还是错误的命名?
答案 2 :(得分:0)
mysql_fetch_assoc:“返回与获取的行对应的关联数组,并将内部数据指针向前移动。” http://pt2.php.net/mysql_fetch_assoc
尝试使用mysql_fetch_rows将所有匹配的行返回到数组中。