从基于Array的mysql中提取数据

时间:2014-01-03 09:37:32

标签: php mysql

我有一个文件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(在数组中)的信息,但它只返回第一个结果。

有什么想法吗?

3 个答案:

答案 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将所有匹配的行返回到数组中。