Wiedermal ein Script Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bel
checken
einraum
erste
folgende fehlermeldung
gro kleinschreibung
grundform
haarfarbe
komma
mietobjekt
mietpreis
order
raum wohnungen
single
sinnen
status
syntax
telefon
umfangreiches thema
wohnung
-
AUch wenn es mich tierisch ank**** euch immer zu bel?stigen
aber folgende fehlermeldung wird ausgegeben
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' ort = 'wetro' ORDER BY flaeche
<?php
error_reporting(E_ALL);
include"dbconnect.php";
$ortsuche = $HTTP_GET_VARS["ort"];
$i=0;
$mietpreis=0;
$mietpreis_wrg=0;
$einraum=0;
$zweiraum=0;
$dreiraum=0;
$vierraum=0;
$fuenfraum=0;
$wohnung = "SELECT
wohnungsart
FROM
mietobjekte";
$sql_eins = "SELECT
ort,
strasse,
flaeche,
kaltmiete_m2,
kaltmiete_ges,
wohnungsart,
lage_whg
FROM
mietobjekte
WHERE
wohnungsart = '1',
ort = '$ortsuche'
ORDER BY
flaeche DESC";
$result_eins = mysql_query($sql_eins) OR die (mysql_error());
$rw = mysql_query($wohnung) OR die (mysql_error());
while($row = mysql_fetch_assoc($rw))
{
if ($row['wohnungsart']=="1")
{
$einraum=1;
}
if ($row['wohnungsart']=="2")
{
$zweiraum=1;
}
if ($row['wohnungsart']=="3")
{
$dreiraum=1;
}
if ($row['wohnungsart']=="4")
{
$vierraum=1;
}
if ($row['wohnungsart']=="5")
{
$fuenfraum=1;
}
}
mysql_free_result($rw);
IF ($einraum=="1")
{
echo
"
1 - Raum - Wohnungen
<table border=0 cellspacing=2>
";
while($row = mysql_fetch_assoc($result_eins))
{
if ($i++ % 2 != 0)
{
$bgcolor='#CACACA';
}
else
{
$bgcolor='#F2F2F2';
}
if ($row['kaltmiete_m2']=="")
{
$mietpreis=$row['kaltmiete_ges'];
$mietpreis_wrg=" ? + NK";
}
else
{
$mietpreis=$row['kaltmiete_m2'];
$mietpreis_wrg=" ? / m? + NK";
}
echo "
<tr>
<td bgcolor=".$bgcolor." width='101' height='33'> ".$row['ort']."</td>
<td bgcolor=".$bgcolor." width='131' height='33'> ".$row['strasse']."</td>
<td bgcolor=".$bgcolor." width='108' height='33' align='center'>".$row['flaeche']." m?</td>
<td bgcolor=".$bgcolor." width='131' height='33' align='center'>".$mietpreis.$mietpreis_wrg."</td>
<td bgcolor=".$bgcolor." width='95' height='33'> ".$row['lage_whg']."</td>
</tr>";
}
mysql_free_result($result_eins);
echo "</table>";
}//if einraum
?>
grmpf da seh ich aber keinen Fehler ;-( -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Probier mal das:
"FROM mietobjekte WHERE wohnungsart LIKE '1', ort LIKE '$ortsuche' ORDER BY flaeche DESC";
Ansonsten: versuchs mal, nur eine definition zu nehmen:
"FROM mietobjekte WHERE ort LIKE '$ortsuche' ORDER BY flaeche DESC"; -
komisch mit einer abfrage gehts in beiden varianten ...
aber ich muss doch auch 2 abfragen machen k?nnen -
Dann w?rd ich halt zwei Abfragen machen:
Zuerst werden alle rausgesucht, bei denen "wohnungsart" gleich "1" ist und dann, in der n?chsten abfrage, wo "ort" gleich "$ortsuche" ist...
Ich bin mir nicht sicher, ob man zwei abfragen gleichzeitig machen kann...
Das Problem bei dir war das "=". Das muss "LIKE" sein... -
schrotti12 schrieb:
Das Problem bei dir war das '='. Das muss 'LIKE' sein...
Stimmt nicht. Das like braucht man nur bei Strings mit Platzhaltern (also %). Bei MySQL reicht, im Gegensatz zu z.B. Oracle, beim einfachen Stringvergleich das = aus. Auch Gross-/Kleinschreibung wird bei der Benutzung von = nicht beachtet.
Das Problem ist, dass zwei Bedingungen benutzt werden und da ein Komma zwischensteht. Es sollte aber ein "and" oder ein "or" dazwischen stehen (je nachdem, was du da genau machen willst).
Beispiel:
falsch: select name, telefon from leute where status = "single", haarfarbe = "blond";
richtig: select name, telefon from leute where status = "single" and haarfarbe = "blond";
Statt and kann man dann halt auch "or" benutzen (was in diesem Fall meiner Meinung nach keinen Sinn machen w?rde *g*). -
wundersch?n es funktioniert...ich bedanke mich bei euch beiden!!!
-
Oh mein Gott, ich bin so schlecht *heul*...
Aber nichts desto trotz...
Bin froh, dass ich helfen konnte!
@ 0-checka:
Das = ist das, was mir halt als erstes aufgefallen ist, deswegen hab ichs gesagt.
Ich verwende MySQL-Befehle halt nich in der "Grundform"...
Aber ich bin drauf und dran, mich da einzuarbeiten!
Iss halt doch ein recht umfangreiches Thema
MfG
schrotti12 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage