Здесь работает заявление без ?
MySQL REGEXP с? Заполнителей, как связать с переменной PHP
$query_select_all = "SELECT * FROM TableName WHERE CAST(ColumnName AS UNSIGNED) REGEXP '111|114|115'";
$sql = $db->prepare($query_select_all);
$sql->execute();
Хотите использовать '111|114|115'
в качестве переменной PHP (например $data
).
Изменить код
$data = array('111|', '114|', '115');
$query_select_all = "SELECT * FROM TableName WHERE CAST(ColumnName AS UNSIGNED) REGEXP (?,?,?)";
$sql = $db->prepare($query_select_all);
$sql->execute($data);
$data
выглядит Array ([0] => 111| [1] => 114| [2] => 115)
После выполнения заявления получить SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)
.
Предположим, что нечто не правильно с $data = array('111|', '114|', '115');
Что такое правильный код?
Распечатайте весь запрос , Что такое '$ query_select_all_start'? – silkfire
Один момент ... изменится в вопросе – user2360831