Подстановка кавычек
У меня есть такой массив (это часть запроса к БД) и для того, чтобы добавить какое-то значение приходится оборачивать его в двойные кавычки '"test2"'. Мне нужно убрать их из массива, чтобы было так 'test2' и подставлять уже потом в условии. Как это сделать можно?
$data = [
'where' => [
'url', '=', '"test2"',
],
];
if (!empty($data['where'])) {
return $where = ' WHERE ' . implode(' ', $data['where']);
}
Ответы (1 шт):
Автор решения: Slava Rozhnev
→ Ссылка
Я думаю лучше использовать подготовленные выражения. И тогда Ваш код может быть таким:
<?php
$data = [
'where' => [
'first_name', '=', 'NICK'
],
];
$query = sprintf(
'select * from sakila.actor where `%s` %s ? ;',
$data['where'][0],
$data['where'][1]
);
echo $query;
// get DB version using PDO
$stmt = $pdo->prepare($query);
$stmt->execute([$data['where'][2]]);
$actors = $stmt->fetchAll(PDO::FETCH_ASSOC);