簡體   English   中英

試圖通過帶有IN子句的php從mysql表中獲取數據(收藏夾)

[英]Trying to get data from mysql table via php with IN clause (favorites)

這是我的“用戶”表的外觀:

Name Password Favorites

Test Test     1 2 3 4

在我的表格“數據”中

Comment ID
"Test"  2

我希望用戶能夠將評論保存到其收藏夾,因此是第一個表,我將所有收藏夾都保存在一行中,因此表不會太大。 我嘗試通過爆破和IN子句將它們全部收回。 現在看來,它似乎不起作用,我希望這里有人可以給我一些有關如何解決這個問題的有用信息:)

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

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

現在,我在上面的查詢行中收到此錯誤:傳遞了無效的參數

改變這個...

($GET_["favoritenstring"]);

($_GET["favoritenstring"]);

嘗試這個:

$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.=");";

您必須先從字符串中刪除斜杠:

$string = stripslashes($favoritenstring);
$query = "SELECT * FROM $table_id WHERE ID in " .$string;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM