0

これが私のテーブル「User」の外観です。

Name Password Favorites

Test Test     1 2 3 4

そして私のテーブル「データ」には

Comment ID
"Test"  2

ユーザーがお気に入りにコメントを保存できるようにしたいので、最初のテーブルでは、すべてのお気に入りを1行に保存して、テーブルが大きくなりすぎないようにします。私はそれらすべてを爆縮とIN句で取り戻そうとします。今のところうまくいかないようです。おそらくここの誰かがこの問題を克服する方法について私にいくつかの有用な情報を与えてくれることを願っています:)

$favoritenstring = ($GET_["favoritenstring"]);

$query = "SELECT * FROM $table_id WHERE ID in ('" . implode("','",$favoritenstring) . "')";

現在、上記のクエリ行で次のエラーが発生しています。無効な引数が渡されました

4

3 に答える 3

2

これを変える...

から

($GET_["favoritenstring"]);

($_GET["favoritenstring"]);
于 2012-08-03T11:07:49.990 に答える
2

これを試して:

$query = "SELECT * FROM $table_id WHERE ID in ( ";

$myVars=explode($favoritenstring);
$numFavs=count(explode(' ', $favoritenstring));
for($i=0;$i<$numFavs;$i++)
{
    $query.=$myVars[$i];
    if($i<($numFavs-1))
    {
        $query.=", ";
    }
}

$query.=");";
于 2012-08-03T11:08:02.803 に答える
2

最初に文字列からスラッシュを削除する必要があります。

$string = stripslashes($favoritenstring);
$query = "SELECT * FROM $table_id WHERE ID in " .$string;
于 2012-08-03T11:36:28.920 に答える