Intereting Posts
INSERT INTO, если условие выполнено PHP: анализ разделенных запятыми значений между квадратными скобками в многомерном массиве new mysqli (): как перехватить ошибку «невозможно подключиться»? PHP LIBXML_NOWARNING не подавляет предупреждения? WooCommerce – Автоматическое добавление или автоматическое удаление продукта в корзину API Paypal – GetVerifiedStatus – Недействительный запрос Как включить короткие теги PHP? Увеличение максимального размера сообщения Перечислить зарегистрированные пространства имен объекта PHP DOMDocument Как сделать текстовый DIFF с помощью PHP? Проверка JavaScript AJAX загруженных ресурсов с помощью Mink / Zombie в PHP? zend_loader_autoloader не загружает абстрактный класс Автоматическое подключение к PDO только при необходимости PHP – конкатенировать или напрямую вставлять переменные в строку Предупреждение: trim () ожидает, что параметр 1 будет строкой, массив указан в wp-includes / class-phpmailer.php в строке 973

$ wpdb-> get_results ($ запроса); Возвращает NULL с переменным $ query – тот же запрос работает с жестким кодом

Я пытался отладить этот скрипт в течение месяца. Остальная часть программы уже построена, и эта одна вещь просто не сработает. Проблема – это переменная $ query, она возвращает null, если я не жестко код, что невозможно в форме поиска. Я попробовал добавить «\ n», я попробовал просто положить в результаты, я изменил «на» для начала. Я протестировал остальную часть кода за пределами этого блока, и все это работает. Я провел тесты на этом блоке, как вы можете видеть из приведенных ниже инструкций эха. Те, кто все отлично тестируют. Строка $ query, построенная функцией, возвращает правильные данные, когда они жестко закодированы или в браузере базы данных. Я застрял! Помоги пожалуйста.

[фрагмент кода]

if(isset($_POST['submit'])) { // define the list of fields $fields = array('lastname', 'firstname', 'dob', 'city', 'telephone', 'email', 'user_id'); $conditions = array(); // loop through the defined fields foreach($fields as $field){ //echo "Field is ".$field."\n"; // if the field is set and not empty if(isset($_POST[$field]) && $_POST[$field] != '') { //echo "Field is: ".$field."\n".$field." is: ".$_POST[$field]."\n"; // create a new condition while escaping the value inputed by the user (SQL Injection) $conditions[] = "$field LIKE '%" . mysql_real_escape_string($_POST[$field]) . "%' "; } } // builds the query $query = "\" SELECT * FROM wp_ct_ad_client_db_table "; // if there are conditions defined $query_user_id = "user_id = ".$user_id." \""; array_push($conditions, $query_user_id); if(count($conditions) > 0) { // append the conditions $query .= "WHERE " . implode(' AND ', $conditions); // you can change to 'OR', but I suggest to apply the filters cumulative } echo "Query String: ".$query."\n"; //$result = $wpdb->get_results($query); $my_query = $query; echo "Test My Query Logic \n"; //$result = $wpdb->get_results("SELECT * FROM wp_ct_ad_client_db_table WHERE lastname LIKE '%A%' AND user_id = $user_id;"); //$result = $wpdb->get_results($my_query); $result = $wpdb->get_results($my_query, A_ARRAY); var_dump($result); 

[/ фрагмент кода]