Ik wil graag een plaatje uit een database oproepen:

<?
echo "<table border ='1'>";
echo "<tr>";
echo "<td colspan='10'><center>De volgende lampen zijn al in database opgenomen:</td></tr>";
echo "<tr>";
$query = "SELECT * FROM vergelijk ORDER BY 'Type' ASC";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
echo "<td width='70'><center><b>".$record->Type."</b></td>";
}
echo "</tr>";
echo "<tr>";
$query = "SELECT * FROM vergelijk ORDER BY 'Type' ASC";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
echo "<td> <center><img scr=".$record->Plaatje."/></td>";
}
echo "</tr>";
echo "</table>";
?>

Wat doe ik precies fout?

Want de view source zegt:
<img scr=http://www.jcsl.nl/shop/catalog/images/maniadc1.jpg/>;

Maar hij geeft hem niet weer. Plaatje bestaat wel

Dit is de pagina:

http://www.jcsl.nl/martin/index.php


fout opgelost scr moet nnatuurlijk src zijn
$query = "SELECT * FROM vergelijk ORDER BY 'Type' ASC";

moet zijn:

$query = "SELECT * FROM vergelijk ORDER BY `Type` ASC";

edit: hier moeten volgens mij backtics bij omdat dit een dbnaam is die al standaard erin staat ;)
ik zie het verschil niet echt.

Maar het werkt inmiddels
J.S. Coolen schreef op 06.10.2006 01:58
ik zie het verschil niet echt.

Maar het werkt inmiddels


` ipv '

Allebei onnodig trouwesn
[offtopic]
@J.S. Coolen: Gebruik in je mysql query liever geen * om elke keer alle velden op te halen. Haal alleen de velden op die je ook daadwerkelijk nodig hebt na die query.

Dus:

SELECT Type
FROM vergelijk
ORDER BY Type


[/offtopic]
Terence schreef op 06.10.2006 01:44
$query = "SELECT * FROM vergelijk ORDER BY 'Type' ASC";

moet zijn:

$query = "SELECT * FROM vergelijk ORDER BY `Type` ASC";

edit: hier moeten volgens mij backtics bij omdat dit een dbnaam is die al standaard erin staat ;)
@Terence: De volgende keer dat je roept 'hier moeten backtics bij', ga ik slaan...

Nu even serieus, gebruik NOOIT EN TE NIMMER backtics! Dat is volkomen onzinnig, lost niks op en creeert uiteindelijk alleen maar meer problemen en geeft je een grotere kans op tikfouten.

Backtics worden gebruikt om ondanks fouten in de naamgevingen de boel toch nog aan de praat te krijgen. En waarom zou je niet gewoon de fouten oplossen door betere namen te kiezen? DB2, Oracle en nog vele andere databases werken al sinds jaar en dag zonder deze troep en toch schijnt er geen enkel probleem met naamgevingen te zijn. Backtics horen thuis in de prullenbak en nergens anders. Nooit meer gebruiken dus.

Reageren