想要选择列值为 11 或 12 或 23 的 MySQL 行。尝试使用此类代码
$query_select_all = 'SELECT * FROM 2_1_journal WHERE CAST(EntryId AS UNSIGNED) IN (?)';
$sql = $db->prepare($query_select_all);
$data1[] = '11, 12, 23';
$sql->execute($data1);
但代码仅选择列值为 11 的行(第一个值来自$data1[] = '11, 12, 23';
)
尝试过,?
并根据需要工作。
?
这是没有(位置占位符)的语句
$query_select_all = 'SELECT * FROM 2_1_journal WHERE CAST(EntryId AS UNSIGNED) IN (11, 12, 23)';
$sql->execute();
该语句按预期工作(选择EntryId
11 或EntryId
12 或EntryId
23 的行。
第一个代码中的错误(带有?
)在哪里?