Я конвертирую старые запросы MySQL/PHP на сайт. У меня есть страница с рядом флажков. Это представляется, и запрос построен на основе того, что флажки проверяются (есть, по крайней мере, 6, как следующее):Динамическое построение PHP PDO Запрос MySQL
if (xxxxx) {
$furthersort=$furthersort."AND age_birth='yes' ";
}
if (xxxxx) {
$furthersort=$furthersort."AND age_three='yes' ";
}
...
$prequery = "SELECT id from products WHERE product_categories LIKE '%$catid%' ".$furthersort."ORDER BY product_name ASC";
Я пытаюсь переместить вторую часть этого к PHP так:
$query = $objDb->prepare("SELECT id from products WHERE product_categories LIKE ? ? ORDER BY product_name ASC");
$params3 = array('%$catid%',$furthersort);
$query->execute($params3);
while ($row = $query->fetch(PDO::FETCH_ASSOC));
Но это не работает. Переменные, созданные if, правильны, поэтому я уверен, что это потому, что мне не хватает понимания того, как часть подготовки интерпретирует эту информацию, но мне нужен толчок в правильном направлении.
Что такое '$ furthersort', или что второе, что вы пытаетесь связать? – chris85
У вас есть две вещи в 'LIKE', когда вы должны иметь ее. Вы можете объединиться в своем массиве, но не знаете, что вы конкатенируете вне своих разделителей 'LIKE'. –
@JayBlanchard *** Быть мастером Конечно, имеет свое место ....; -) *** Ясно, как хрусталь .... *** Однако не все мастера делают лучшее из учителей ... *** * * Для Учителя, как и вы, почерк на стене ясен, но как насчет новорожденного с только 1 SO-репутацией ??? ** – Poiz