select abfrage mit like

Hallo leute,

ich habe da eine Frage zu einer SQL - Query.

In phpmyadmin hatte ich folgende Anfrage eingetippt und sofort das ergebnis bekommen. (2 ergebisse)
Code:
SELECT * FROM products
WHERE productName LIKE ('%t%')
OR shortDescription LIKE ( '%t%')

Super habe ich gedacht, das ganze in php übertragen und folgendes kreirt.
PHP:
// generate Query
$sqlQuery = "SELECT * FROM products
 	            WHERE productName LIKE ('%$searchString%') OR
		    shortDescription LIKE ('%$searchString%')";
// excecute Query
$result = $dbAccess->excecuteSqlScript($sqlQuery);
$listCount = mysql_num_rows($result);

Ziemlich gewundert habe ich mich dann, als das erwartete Ergebniss ausblieb und $listCount 0 enthielt.

Irgendwie ist da irgendwo der Hund drinnen.
Bitte helft mir ihn zu vertreiben

Gruss
Daniel
 
Um SQL Injections zu vermeiden, verwenden bitte

Code:
$searchString = mysql_real_escape_string($_GET['search']);

Bitte mal $sqlQuery ausgeben lassen um zu sehen wie die Query aussieht die an den server geht.

Hast du vorher eine DB ausgewählt?

Code:
mysql_select_db("meineDB");

ansonsten weiß "select * from produkte" nicht in welcher DB die Tabelle sein soll.
 
Das ist eine gute Idee mit dem query ausgeben, werde ich heute abend gleich probieren.

Und ja, die Datenbank wird selektiert, denn dies ist alles in dem excecutequery drinn:
1. verbinden
2. selektieren
3. query absetzten
4. connection schliesen.

Und danke für den Hinweis mit der SQL injection.

Grüsse daniel
 
Oh wunder,
als ich vorhin die gleiche query wieder absetzte, habe ich da auf einmal das gewünschte Resultat erhalten... ohne daran was geändert zu haben. Kann es sein das da was im cache hängengeblieben ist?

@ripkens: danke noch für deinen typ wegen den sql injections, aber... gibts da auch ne möglichkeit ohne die notwendikeit einer bestehenden connection?

Wenn nicht muss ich wohl oder übel meine db-klasse umschreiben und der anstatt nur die query, eine query und ein variablen-array mitgeben und die query dort fertigstellen.

danke vielmals
daniel
 
Zurück