Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
in zei Splaten suchen
#1
hallo,
in zwei Spalten suchen (nachname) or (vorname) geht auch nicht ??
warum nicht ??

PHP-Code:
  if (isset($_GET['search'])) {
    $statement_kontakte $pdo->prepare("SELECT * FROM tbl_kontakte WHERE (nachname) OR (vorname) LIKE \"%" .$_GET['search']. "%\";");
    $statement_kontakte -> execute(); 
   
Zitieren
#2
Das ist in SQL nicht viel anders als in anderen Programmiersprachen, es muss heißen:
Code:
'SELECT * FROM tbl_kontakte WHERE nachname LIKE "%' .$_GET['search']. '% OR vorname LIKE "%' .$_GET['search']. '%;'

Und gib acht auf SQL-Injektions, besser Platzhalter im Prepared Statement verwenden.
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren
#3
(10.07.2024, 16:05)Sempervivum schrieb: Das ist in SQL nicht viel anders als in anderen Programmiersprachen, es muss heißen:
Code:
'SELECT * FROM tbl_kontakte WHERE nachname LIKE "%' .$_GET['search']. '% OR vorname LIKE "%' .$_GET['search']. '%;'

Und gib acht auf SQL-Injektions, besser Platzhalter im Prepared Statement verwenden.

 Ok, vielen Dank :-)

PHP-Code:
  if (isset($_GET['search'])) {
    $statement_kontakte $pdo->prepare('SELECT * FROM tbl_kontakte WHERE nachname LIKE :search OR vorname LIKE :search LIMIT 15');
    $statement_kontakte -> execute(array(':search' => '%' $_GET['search'] . '%')); 
   
bekomme leider noch einen Fehler angezeigt.

(10.07.2024, 16:40)black79 schrieb:
(10.07.2024, 16:05)Sempervivum schrieb: Das ist in SQL nicht viel anders als in anderen Programmiersprachen, es muss heißen:
Code:
'SELECT * FROM tbl_kontakte WHERE nachname LIKE "%' .$_GET['search']. '% OR vorname LIKE "%' .$_GET['search']. '%;'

Und gib acht auf SQL-Injektions, besser Platzhalter im Prepared Statement verwenden.

 Ok, vielen Dank :-)

PHP-Code:
  if (isset($_GET['search'])) {
    $statement_kontakte $pdo->prepare('SELECT * FROM tbl_kontakte WHERE nachname LIKE :search OR vorname LIKE :search LIMIT 15');
    $statement_kontakte -> execute(array(':search' => '%' $_GET['search'] . '%')); 
   
bekomme leider noch einen Fehler angezeigt.

so geht es jetzt
PHP-Code:
if (isset($_GET['search'])) {
    $statement_kontakte $pdo->prepare('SELECT * FROM tbl_kontakte WHERE nachname LIKE :search OR vorname LIKE :search1 LIMIT 15');
    $statement_kontakte -> execute(array(':search' => '%' $_GET['search'] . '%'':search1' => '%' $_GET['search'] . '%')); 
   


Angehängte Dateien Thumbnail(s)
   
Zitieren
#4
Das Problem hatte ich auch schon Mal. Es funktioniert nicht wenn man den selben Parameter mehrfach verwendet. In der Doku findet man jedoch eine Lösung:
https://www.php.net/manual/en/pdo.prepar...parameters.
https://www.php-einfach.de/2015/08/emuli..._prepares/
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste