簡體   English   中英

PHP MySQL PDO選擇ID為ID的數組上的行

[英]PHP MySQL PDO selecting rows on array with id's

我在會話中存儲了來自form []的多個id值。

我試圖在mysql pdo數據庫查詢中使用這些ID,如下所示:

$noot = str_repeat("?,", count($_SESSION['uniqueID'])-1) . "?";

$printen = 1;
$query = $db->prepare("SELECT DISTINCT ru.GB,g.Name,g.Address,g.Place,ri.Ricode,lo.nr,lo.uniqueID,GROUP_CONCAT(ru.control SEPARATOR '<BR>') AS control,GROUP_CONCAT(ru.BestEmail SEPARATOR '<BR>') AS email,GROUP_CONCAT(ru.ont_info SEPARATOR '<BR>') AS ont,GROUP_CONCAT(ru.sup SEPARATOR '<BR>') AS Lev,GROUP_CONCAT(ru.OrderID SEPARATOR '<BR>') AS orderID,GROUP_CONCAT(DISTINCT ru.rID SEPARATOR '<BR>') AS RID,GROUP_CONCAT(ru.Pack SEPARATOR '<BR>') AS packet FROM rutrans AS ru JOIN routes AS ri ON ru.rID = ri.rID 
 LEFT OUTER JOIN lock AS lo
             ON ri.Ricode = lo.ricode AND ru.GB = lo.location
    LEFT OUTER JOIN gbc AS g
             ON ru.GB = g.CodeB          
WHERE  lo.uniqueID IN ($noot)");

$query->execute($_SESSION['uniqueID']);

//$data = $query->fetchAll();

並嘗試獲得如下結果:

foreach($queryRT as $rowRT) { 

 (I echo database results within a table for each row here,... or try to do this)

}

發生以下錯誤:

致命錯誤:在消息中出現未捕獲的異常“ PDOException”,消息為“ SQLSTATE [HY093]:無效的參數號”

當我添加

$data = $query->fetchAll();

查詢頁面完全空白。

當我嘗試顯示以下內容時:

print_r($data);

頁面上僅顯示以下內容:

數組()

當我嘗試這樣的事情:

print_r($_SESSION['uniqueID']);

它顯示數組如下:

Array ( [B1601222016164345] => B1601222016164345 
        [B1601222016161121] => B1601222016161121 
        [B1601262126474345] => B1601262126474345 
        [B1602011856554345] => B1602011856554345 
        [B1602101921434345] => B1602101921434345 
        [Z1602102002034345] => Z1602102002034345
        [Z1602102026544345] => Z1602102026544345 
      )

顯然我做錯了什么。 有誰願意解決這個問題嗎?

$_SESSION['uniqueID'] ,它的索引必須有數字? 作為占位符。

文件

input_parameters中的鍵必須與SQL中聲明的鍵匹配。 在PHP 5.2.0之前,這被默默地忽略了。

嘗試這個:

$query->execute(array_values($_SESSION['uniqueID']));

暫無
暫無

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

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