Подстановка кавычек

У меня есть такой массив (это часть запроса к БД) и для того, чтобы добавить какое-то значение приходится оборачивать его в двойные кавычки '"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);

PHP online environment

→ Ссылка