0

次のMySQLテーブルがあります

|   module  | module_id |
|    301    |      1    |
|    302    |      2    |
|    303    |      3    |
|    304    |      4    |
|    305    |      5    |
|    306    |      6    |

モジュールの名前は、JSON 配列の形式で PHP に渡されます。配列に含まれるすべてのモジュール ID を選択して表示したいと考えています。たとえば、モジュール 301、303、および 306 がスクリプトに渡された場合、値 1、3、および 6 を返したいとします。

ほとんど機能する次のスクリプトをまとめましたが、残念ながら最初の値しか返されません。したがって、301、303、および 306 が配列にある場合、スクリプトは 1、3、および 6 ではなく「1」を返します。

おそらく、私が見逃しているかなり基本的なものがあると確信していますが、それが何であるかを理解することはできません. 誰か助けてくれませんか?

ありがとう!

$conn = (DATABASE CONNECTION INFO);
$modules = $_REQUEST['modules'];
$insertmodules = json_decode(stripslashes($modules), true);
$inmods = implode(',', $insertmodules);
$getmodsquery = "SELECT module_id FROM modules WHERE module IN ('$inmods')";
$getmods = $conn->query($getmodsquery);

while($row = $getmods->fetch_assoc()) {
 foreach ($row as $value){
  print_r($value);
  }
 }
4

1 に答える 1

2

クエリから引用符を削除して、次の行を試してください。

$getmodsquery = "SELECT module_id FROM modules WHERE module IN ($inmods)";
于 2013-03-05T10:29:41.330 に答える