как запрос не работает, если строка имеет символ '&' - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть имя таблицы в качестве теста. В тестовой таблице есть столбец test1. Столбец test1 имеет строковое значение "abc & def", и я создал строковую переменную $ str = "abc & def". Когда я попытаюсь выполнить подобный запрос (выберите * из теста, где test1 похож на '% $ str%'). это ничего не даст в результате. может ли кто-нибудь помочь?

1 Ответ

0 голосов
/ 13 сентября 2018

Я предполагаю, что вы используете core (vanilla) PHP:

Примерно так:

$esc_str = $db->quote($str);
// this is for PDO; for MySQLi use $db->escape_string($str) instead
$qry = "select * from test where test1 like '%$esc_str%'"

используйте ниже:

$esc_str = $db->quote($str);
$qry = "select * from test where test1 like '%".$esc_str."%'"

или

$esc_str = $db->quote($str);
`select * from test where test1 like "%$esc_str%"`

этот пример преобразует переменную php в https://www.virendrachandak.com/techtalk/php-double-quotes-vs-single-quotes/

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...