Frage zu Php Fehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
anweisung
auftritt
code
date
datum
element
entsprechende zeile
ergebnis
fehler
limit
nachricht
ordern
string
typ
versuch
vorherige zeile
welt
zeile
zuweisung
-
In meinem PHP Script wird immer wieder angezeigt:
Parse error: syntax error, unexpected ':', expecting ',' or ';' in /home/webpages/lima-city/maechte-der-elemente/html/Des-2.php on line 223
Das ist nun die entsprechende Zeile
echo ":";
Da mir unerklärlich ist, was daran falsch ist, äußere ich jetzt einfach mal meine Vermutung:
Muss ein Doppelpunkt escaped werden?
Was ist es sonst?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
dieser Fehlercode zeigt nicht immer die Zeile an, wo der Fehler auftritt, sondern auch gerne mal die Zeile danach an.
Versuch es mal, indem du die " durch ' ersetzt und poste mal die vorherige Zeile (Leerzeilen zählen nicht, falls welche da sind.) -
saalko schrieb:
dieser Fehlercode zeigt nicht immer die Zeile an, wo der Fehler auftritt, sondern auch gerne mal die Zeile danach an.
Versuch es mal, indem du die " durch ' ersetzt und poste mal die vorherige Zeile (Leerzeilen zählen nicht, falls welche da sind.)
Hat geklappt, jetzt zeigt es mir an, dass hier in zeile 27 ein Fehler sei, aber das ist doch einfach nur ?> (unexpected $end )?????
<?php $abfrage = "SELECT * FROM gaestebuch ORDER BY id DESC Limit 4"; $ergebnis = mysql_query($abfrage); $counter = 1 ; while ($row = mysql_fetch_object($ergebnis) and $counter < 4) { if ($row->best = 'yes') { $datum = date("j.n.",$row->timestamp); $nachricht = substr($row->nachricht,0, 50); echo "<tr>"; echo "<td><small>"; echo "<span style=\"font-weight: bold;\">$datum, " - "; echo $row->autor; echo ':'; echo '</span>'; echo '<br>'; echo $nachricht; echo '...'; echo '</small></td>'; echo '</tr>'; $counter = $counter + 1; } else { } } ?>
-
Kann sein das es an deiner fehlerhaften IF Anweisung liegt.
Du machst eine Zuweisung und keinen Vergleich in Zeile
if ($row->best = 'yes')
das muss schon so aussehen
if ($row->best === 'yes')
3 Gleichheitszeichen weil du auf den Typ String auch prüfen solltest!
Achja, versuch dir anzugewöhnen nach Möglichkeit für Strings immer das Hochkomma zu verwenden. In SQL Anweisungen idealerweise Gänsefüsschen und dann bitte die Variablen nicht direkt in den String schreiben sondern concatten.
Zb.
$halloWelt = 'Die Welt sagt hallo'; echo 'Was sagt die Welt?: '.$halloWelt;
€dit: dann sparst du dir in den meisten Fällen die Gänsefüsschen im HTML zu escapen ;)
Beitrag zuletzt geändert: 10.9.2009 23:23:50 von evil-devil -
echo "<span style=\"font-weight: bold;\">$datum, " - ";
Die Zeile stimmt auch nicht, da ist entweder ein " zu viel oder zu wenig. -
ABCDEFGHIJKLMNOPQRST
sry. einmal bitte löschen. thx.
Beitrag zuletzt geändert: 15.9.2009 9:48:43 von myhead -
Sieht ja auch bissl beängstigend aus der Code ...
<?php $ergebnis = mysql_query("SELECT * FROM gaestebuch ORDER BY id DESC Limit 4"); $counter = 1 ; while ($row = mysql_fetch_object($ergebnis) and $counter < 4) { if ($row->best == 'yes') { $datum = date("j.n.",$row->timestamp); $nachricht = substr($row->nachricht,0, 50); echo' <tr> <td style="font-weight:bold; font-size:10px;"> ".$datum." - ".$row->autor.": </td> </tr> <tr> <td style="font-weight:bold;font-size:10px;"> ".nl2br($nachricht)."... </td> </tr> '; $counter++; } } ?>
Den Style solltest du in CSS packen
td { font-weight:bold; font-size:10px; }
so ersparst du dir lästige Style-Tags
Grüsse
Color
Beitrag zuletzt geändert: 15.9.2009 10:48:31 von color -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage