Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Nazwa kolumny jako zmienna, SELECT wyszukuje tylko w jednej kolumnie
ChaYim
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 24.11.2015

Ostrzeżenie: (0%)
-----


Witam.
Edytuję niewielki plugin na WordPressie.
Zasada działania jest prosta: Wyszukaj po: Nazwisku/Emailu/Telefonie/Kuponie następującą frazę...
Mam w formularzu listę wyboru, która definiuje zmienną $column oraz input dla zmiennej $search. Dlaczego zapytanie do MySQL:
  1. $result = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_list WHERE $column = $search"));

Działa tylko w przypadku jednej kolumny?
W opcjach listy posiadam value: email, name2, phone, oraz coupon - odpowiada to nazwom kolumn w tabeli. Gdy wyszukuję w kolumnie 'phone' wtedy prawidłowo zwraca wyniki. Jednak w pozostałych sytuacjach zwraca zerowe rezultaty. Dodam, że sprawdziłem wszystkie nazwy i czy _POST zwraca zmienną $column oraz $search.

Z góry dzięki za pomoc.

Ten post edytował ChaYim 8.03.2018, 11:05:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ChaYim
post
Post #2





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 24.11.2015

Ostrzeżenie: (0%)
-----


$column jest przesyłana z:
  1. <select name="column">
  2. <option value="name2">Nazwisko</option>
  3. <option value="email">Email</option>
  4. <option value="phone">Nr telefonu</option>
  5. <option value="coupon">Kod kuponu</option>


Przetestowałem:
  1. $result = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_emailinglist WHERE phone = $search"));

i działa. Jednak kiedy używam tych zapytań:
  1. $result = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_emailinglist WHERE name2 = $search"));
  2. $result = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_emailinglist WHERE email = $search"));
  3. $result = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_emailinglist WHERE coupon = $search"));

Jakimś sposobem nie otrzymuję wyników.

Struktura kolumn jest identyczna:
name2 varchar(89) latin2_general_ci
coupon varchar(89) latin2_general_ci
phone varchar(89) latin2_general_ci
email varchar(89) latin2_general_ci

Ten post edytował ChaYim 8.03.2018, 11:26:45
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 02:27