Frage zu SQL Abfrage (ggf. mit PHP)

martini81

Grünschnabel
Hi Leute,

ich habe eine Frage bzgl. einer SQL Abfrage bzw PHP Abfrage die SQL enthält.

Folgendes Problem liegt vor:
ich betreibe eine Seite auf der ich Daten einer SQL Tabelle darstelle.
Ein Feld ist eine ImgURL. Jetzt kommt es allerdings manchmal vor, dass dieses Feld leer ist.
Ich möchte für den Fall, dass dort kein Wert steht (also imgurl leer ist), ein alternatives Bild anzeigen lassen und habe es wie folgt probiert:

<img src="<?=$adr['imageurl']?>" width="210px" height="158px" border="0" IF <?$adr['imageurl']?> IS NULL ['http://URL_DES_ALTERNATIV-BILDES.jpg']>


bzw. ist dies hier die SQL Abfrage mit der ich die Daten aus der Datenbank hole:
"SELECT imageurl, blabla1, blabla2 FROM datenbank WHERE blabla2='$suchen' IF imageurl IS NULL 'http://alternativbild.jpg'";


Ich hoffe ihr könnt mir helfen! Vielen Dank im Voraus.

martini
 
Hi und Willkommen bei tutorials.de,

Lass im PHP-Teil das IF... weg.
Wenn schon ein if, dann auf ein PHP-mäßiges.
Aber ist hier nicht nötig.
PHP:
<img src="<?=$adr['imageurl']?>" width="210px" height="158px" border="0">

Und die SQL-Abfrage:
zB.
SQL:
SELECT IFNULL(imageurl, 'http://alternativbild.jpg'), blabla1, blabla2
FROM datenbank WHERE blabla2='$suchen';

Noch zwei Sachen:
Das $suchen, dass du da so einfügst, muss unbedingt escaped werden.
Je nachdem, wie du dich zur DB verbindest, heißt die Funktion anders,
aber jedenfalls irgendwas mit Escapestring oder Realescapestring.

Und falls du die alten Mysql-Funktionen nutzt (mysql_query...):
Nicht mehr falsch anlernen, sondern gleich auf PDO oder Mysqli umsteigen.
 
Zurück