SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 15.07.2014, 08:41:56
pa7ssi pa7ssi ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 31
Beiträge: 5
Eine Tabellenspalte mit zwei Begriffen abfragen

Hallo,

wie oben schon beschrieben, möchte ich eine Tabellenspalte mit zwei Begriffen abfragen.
Das kann man sich so vorstellen:

Ich habe eine Spalte "Vorname".
Dann mache ich ein "POST", wo in dem Feld "Hans Müller" steht (also der User will "Hans Müller" in beispielsweise einem Telefonbuch finden).

Bei mir zeigt er dann aber überhaupt nichts an.

PHP-Code:
$postvariable $_POST['vorname'];

"SELECT vorname FROM tabellenname WHERE vorname LIKE '%$postvariable%' " 
Es kommt keine Ausgabe. Gebe ich aber nur "Hans" ein funktioniert es.
Ich bitte um Hilfe.

Vielen Dank für jede Antwort.
Mit Zitat antworten
  #2  
Alt 15.07.2014, 09:44:25
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Vielleicht ist Müller ja ein Nachnahme?

Außerdem ist/scheint dein Code anfällig für SQL Injections.
Mit Zitat antworten
  #3  
Alt 15.07.2014, 09:46:44
pa7ssi pa7ssi ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 31
Beiträge: 5
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Hallo,

danke für die Antwort.


Er sollte doch aber trotzdem alle Vorname ausgeben, die mit "Hans" anfangen.
Manche Leute haben auch einen Nachnamen, die einige Personen als Vornamen haben.



//edit: Sicherheit steht erstmal nicht im Vordergrund

"SELECT vorname FROM tabellenname WHERE vorname LIKE '%$postvariable%' OR nachname LIKE '%$postvariable%' "

So zeigt er auch nichts an.
Mit Zitat antworten
  #4  
Alt 15.07.2014, 10:13:07
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Zitat:
Zitat von pa7ssi Beitrag anzeigen
Er sollte doch aber trotzdem alle Vorname ausgeben, die mit "Hans" anfangen.
Dann sags "ihm" doch so. MySQL und PHP sind ganz fiese Programme und machen genau das, was im Script steht.

Wenn in $postvariable "Hans Müller" steht, dann sucht das Programm auch danach. Deine % Platzhalter beziehen sich auf alle Zeichen vor und nach der Zeichenkette "Hans Müller". Gefunden werden würde zB. "Fritz-Hans Müller-Motzenbacher".
Nicht gefunden wird "Hans Meier", weil "Hans Meier" != "Hans Müller" ist.

btw: mit den Umlauten wirst Du noch Probleme haben, falls Charset und Collation der Datenbank/Tabelle nicht mit dem Charset des Formulars übereinstimmt.
Mit Zitat antworten
  #5  
Alt 15.07.2014, 12:29:34
pa7ssi pa7ssi ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 31
Beiträge: 5
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Wie soll ich demnach einen Platzhalter einbauen?
Mit Zitat antworten
  #6  
Alt 15.07.2014, 15:03:51
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Erstmal solltest du Vorname und Nachname trennen.
Mit Zitat antworten
  #7  
Alt 15.07.2014, 18:32:27
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Zitat:
Zitat von pa7ssi Beitrag anzeigen
Wie soll ich demnach einen Platzhalter einbauen?
Das kommt darauf an, was Du wie suchen möchtest.

Beachte dabei folgendes:
1. verwende mindestens die Spalten Vorname und Nachname
2. beachte, daß nicht sicher ist, ob Doppelnamen mit nem Bindestrich verbunden sind.
Beispiele: Rainer Maria Rilke oder Hans-Jürgen Müller
3. beachte auch, daß alte Adelstitel heute Bestandteil des Nachnamens sind.
Beispiele: Otto Graf Lambsdorf, Jürgen in der Au
4. Die Amis haben zT. nen Mittelnamen und die Russen haben den Vatersnamen an zweiter Position.
Beispiele:
John Fitzgerald Kennedy, Iwan Iwanowitsch Iwanow
5. im asiatischen Raum sind Vor- und Nachname vertauscht.

usw.

Beachte auch, daß Titel (Dr., Prof. usw) mit zum Namen gehören.
Beispiel:
Dr. Fritz Müller bzw. Dr. Müller
Mit Zitat antworten
  #8  
Alt 16.07.2014, 08:12:19
pa7ssi pa7ssi ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 31
Beiträge: 5
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Erstmal solltest du Vorname und Nachname trennen.
Sind getrennt!


Ich bräuchte einfach mal eine Beispiel-SQL-Abfrage. Kann mir da wer behilflich sein?

Zwei Spalten: Vorname und Nachname

Gebe über eine Textbox "Hans Müller" ein.

Bei der Ausgabe sollen dann nur die Datensätze angezeigt werden, die "Hans Müller" wirklich irgendwoe auch nur im Namen haben. Kann ja auch einer einen Doppelnamen haben, dann sollte Beispielsweise "Hans Müller-Wohlfahrt" auch angezeigt werden.
Mit Zitat antworten
  #9  
Alt 16.07.2014, 08:43:07
pguser pguser ist offline
Junior Member
 
Registriert seit: Apr 2014
Alter: 57
Beiträge: 186
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Zitat:
Zitat von pa7ssi Beitrag anzeigen
Sind getrennt!


Ich bräuchte einfach mal eine Beispiel-SQL-Abfrage. Kann mir da wer behilflich sein?

Zwei Spalten: Vorname und Nachname

Gebe über eine Textbox "Hans Müller" ein.

Bei der Ausgabe sollen dann nur die Datensätze angezeigt werden, die "Hans Müller" wirklich irgendwoe auch nur im Namen haben. Kann ja auch einer einen Doppelnamen haben, dann sollte Beispielsweise "Hans Müller-Wohlfahrt" auch angezeigt werden.
Einfach.

Code:
test=*# select * from leute;
 vorname |  nachname
---------+------------
 Hans    | Mustermann
 Willi   | Rabe
 Susi    | Sorglos
(3 rows)

Time: 0,174 ms
test=*# select * from leute where soundex(vorname || ' ' || nachname) = soundex('Hans Mustermann');
 vorname |  nachname
---------+------------
 Hans    | Mustermann
(1 row)

Time: 0,259 ms
test=*# select * from leute where soundex(vorname || ' ' || nachname) = soundex('Hans Musterman');
 vorname |  nachname
---------+------------
 Hans    | Mustermann
(1 row)

Time: 0,268 ms
test=*# select * from leute where soundex(vorname || ' ' || nachname) = soundex('Hans Musterman-Ziegelbalg');
 vorname |  nachname
---------+------------
 Hans    | Mustermann
(1 row)
Mit Zitat antworten
  #10  
Alt 18.07.2014, 12:07:21
pa7ssi pa7ssi ist offline
Anfänger
 
Registriert seit: Jul 2014
Alter: 31
Beiträge: 5
AW: Eine Tabellenspalte mit zwei Begriffen abfragen

Klappt bei mir komischerweise nicht!

Wo hast du das denn getestet?!
Mit Zitat antworten
Antwort

Stichworte
abfrage, mysql, mysql abfrage


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[MySQL] IF / CASE: mehrere Werte abfragen Zeussi MySQLi/PDO/(MySQL) 2 01.08.2009 16:44:53
MS-Access Abfragen nach MySQL übertragen masseschaden MySQLi/PDO/(MySQL) 2 11.09.2008 12:01:39
Viele ids mit einem SELECT abfragen MrLongbaugh MySQLi/PDO/(MySQL) 2 18.06.2008 17:09:20
Mehrere spalten abfragen! Ringo21 PHP für Fortgeschrittene und Experten 40 22.12.2007 04:27:20
Mehrere Abfragen marqito MySQLi/PDO/(MySQL) 5 22.04.2007 00:23:33


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:35:15 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt