Я пытался отладить этот скрипт в течение месяца. Остальная часть программы уже построена, и эта одна вещь просто не сработает. Проблема – это переменная $ 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);
[/ фрагмент кода]