IN
演算子を使用してデータベースからいくつかの行を選択する必要があります。準備文を使ってやりたい。これは私のコードです:
<?php
$lastnames = array('braun', 'piorkowski', 'mason', 'nash');
$in_statement = '"' . implode('", "', $lastnames) . '"'; //"braun", "piorkowski", "mason", "nash"
$data_res = $_DB->prepare('SELECT `id`, `name`, `age` FROM `users` WHERE `lastname` IN (?)');
$data_res->bind_param('s', $in_statement);
$data_res->execute();
$result = $data_res->get_result();
while ($data = $result->fetch_array(MYSQLI_ASSOC)) {
...
}
?>
ただし、すべてのデータがデータベースに存在しますが、何も返しません。もう1つ:クエリに直接
渡して実行すると、データが返されます。$in_statement
そのため、問題は準備に現れます。
Google で質問を探していましたが、うまくいきませんでした。コードの何が問題になっていますか?
助けてくれてありがとう!