Объедините PHP подготовленный statments с ПОДОБНЫМ

Поскольку вы вызвали цикл и хотите получить доступ к элементу через индекс , вам необходимо заменить следующие строки:

thisItem.setName(driver.findElement("//xpathOfName["+i+"]").getText()));
thisItem.setPrice(driver.findElement("//xpathOfPrice["+i+"]").getText()));

на:

[111 ]
9
задан pirho 26 February 2018 в 08:25
поделиться

3 ответа

Знаки % должны войти в переменную, которую Вы присваиваете параметру, вместо в запросе.

Я не знаю, используете ли Вы mysqli или PDO, но с PDO это было бы что-то как:

$st = $db->prepare("SELECT * FROM table WHERE name LIKE ?");
$st->execute(array('%'.$test_string.'%'));

РЕДАКТИРОВАНИЕ:: для mysqli пользователь следующее.

$test_string = '%' . $test_string . '%';
$st->bind_param('s', $test_string);
$st->execute();
28
ответ дан 4 December 2019 в 06:27
поделиться

Можно использовать оператор конкатенации соответствующей sql базы данных:

# oracle
SELECT * FROM table WHERE name LIKE '%' || :param || '%'
# mysql
SELECT * from table WHERE name LIKE CONCAT('%', :param, '%')

Я не familar с другими базами данных, но у них, вероятно, есть эквивалентная функция/оператор.

7
ответ дан 4 December 2019 в 06:27
поделиться

Вы могли попробовать что-то вроде этого:

"SELECT * FROM table WHERE name LIKE CONCAT(CONCAT('%',?),'%')"
2
ответ дан 4 December 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: