Hochkommas und andere Zeichen in der Datenbank...

123123123

Erfahrenes Mitglied
Morgen Leute und nachträglich Frohe Weihnachten!:)

Meine Frage:
Ich habe eine Datebank erstellt mit "input Felder", die Kunden in einer Kundenliste sucht.
Jezt möchte ich einen Namen mit Hochkomma schreiben, aber MySQL kann die nicht verarbeiten?
Geht es mit "mysql_real_escape_string", wenn ja, wo ist es am besten einzufügen!

Danke! :)
 
Also mein SQL sieht so aus:

Code:
$db->query("	SELECT * 
					FROM kundenliste 
					WHERE vorname LIKE '%{$_REQUEST['suche_vorname']}%' 
					AND nachname LIKE '%{$_REQUEST['suche_nachname']}%' 
					AND strasse LIKE '%{$_REQUEST['suche_strasse']}%' 
					AND hausnummer LIKE '%{$_REQUEST['suche_hausnummer']}%' 
					AND postleitzahl LIKE '%{$_REQUEST['suche_postleitzahl']}%' 
					AND stadt LIKE '%{$_REQUEST['suche_stadt']}%'
					ORDER BY vorname ASC, nachname ASC, strasse ASC, hausnummer ASC, postleitzahl ASC, stadt ASC 
					LIMIT 100 
				");
 
Also nohcmals zum verstehen für mich.

Du Suchst nach [Mü"ller] weil [Mü"ller] in der DB steht oder
du suchst ["Müller"] weil der User die Anführungszeichen dazu geschrieben hat, aber eigentlich [Müller] sucht weil nur [Müller] aber nicht ["Müller"] in der DB steht?
 
Ja das zweite habe ich gemeint. :)
Wenn jemand den Namen so engegeben hat ["Müller"], müssen trotzdem alle [Müller] angezeigt werden. In der Datenbank sind die Anführungszeichen nicht vorhanden!
 
Ah - so.

Das ist doch einfach. Mittels trim() in PHP einfach die " entfernen

PHP:
$string = trim($_POST['string'], '"');

Oder in MySQL
SQL:
SELECT *
FROM myTable
WHERE string = TRIM(BOTH '"' FROM '"Müller"')
 
Also irgendwie geht das nicht bei mir.
Kannst du dein Beipiel mit MySQL mit meinem Code verbinden, weiß nicht direkt wie ich das anwenden soll! :) Danke!
 
Was, das ist doch nicht so schwer

SQL:
SELECT * 
FROM kundenliste 
WHERE vorname LIKE CONCAT('%', TRIM(BOTH '"' FROM '{$_REQUEST['suche_vorname']}'), '%' )
....
 
Zuletzt bearbeitet von einem Moderator:
Zurück