Fehlerhaufen im Quellcode

uwee

Erfahrenes Mitglied
Hallo!

Seit ich ein bisschen in meinem Quellcode rumprobiert habe und Vorschläge aus dem Forum eingebaut habe, die alle nicht funktioniert haben, habe ich mir die neuen Einträge rausgelöscht. Jetzt werde ich mit SQL-Fehlermeldungen bombardiert. Die meisten konnte ich schon beheben, aber dummerweise habe ich noch einen, mit dem ich absolut NICHTS anfangen kann:

syntax error, unexpected T_STRING in line 34

Und hier der Quellcode dazu aus Zeile 34:
PHP:
echo "Keine Ergebnisse </title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC><p>Keine Ergebnisse vorhanden</p>";

ich hab zig mal nachgezählt, das ist 100%ig die richtige Zeile... da steht auch nicht "near" oder so, genau in der Zeile muss der Fehler sein

Entweder ich bin blind oder der Kerl hier spinnt ein bisschen :mad:

UweE
 
Das bezieht sich aber meistens auf eine der Zeilen davor.
Poste mal 5 davor und 2 danach noch mit.

redlama
 
PHP:
//echo $sql;
§result=mysql_query($sql);
?>
<html><body><title>
<?php
if(!$result or !mysql_num_rows($result))
echo "Keine Ergebnisse </title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC><p>Keine Ergebnisse vorhanden</p>"; 
else{
echo mysql_num_rows($result),"Ergebnisse:</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC>Es wurden <b>",mysql_num_rows($result),"</b> Titel mit ähnlichem oder gleichem Suchkriterium gefunden:<br>
 
Zuletzt bearbeitet:
danach kommt dann die Ausgabe in Form einer Tabelle, da KANN eigentlich kein Fehler mehr drin sein, weil ich den Teil nciht angerührt habe!
hab schon

\n

dahinter gesetzt (vor die KLammern) aber da tut sich ncihts...
 
Also erstmal müsste es oben $result statt §result sein...

Dann ist ein logischer Fehler im if, denn wenn !$result erfüllt ist liegt eher ein mysql-Fehler vor denn du dann auch ausgeben oder Behandeln solltest....

also eher

PHP:
if( !$result )
     echo 'mySQL-Fehler: '.mysql_error();

$num = mysql_num_rows($result);

if( !$num )
     echo "Keine Ergebnisse </title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC><p>Keine Ergebnisse vorhanden</p>";
else
     echo $num.' Ergebnisse:</title></head><body link="blue" vlink="blue" alink="blue" bgcolor="#CCCCCC">Es wurden <b>'.$num.'</b> Titel mit ähnlichem oder gleichem Suchkriterium gefunden:<br>';

so sollte es klappen (, geht natürlich auch statt dem . zur Verbindung bei Strings, mir ist letzteres aber sympathischer).
Mehrmaliges Ausführen von mysql_"irgendwas" auf eine Ressource geht auch nicht, da diese nach dem ersten Anwenden einer solchen Funktion darauf schon abgearbeitet ist.
 
also das is mir unerklärlich, denn ich habe eine andere Datei, da steht EXAKT DASSELBE DRIN, weil kopiert. und da funktioniert es einwandfrei. es KANN gar nciht dran liegen.
Kann es sein, dass der wegen irgendwas meckert, was weiter vorn ist
 
der EINZIGE Unterschied der beiden Datein ist, dass in der einen in der SELECT-Abfrage vorgegeben ist, wonach gesucht werden soll.
sonst sind die Dateien absolut identisch!
 
also folgendes:

finde.php (funktioniert nicht!)
PHP:
<?php
[-]
$suchen=($_POST['suchen']);
$erg_wort=($_POST['name']);
$sort=($_POST['ordnen']);
$sql="";
$result="";
$iflike="WHERE $suchen LIKE '%$erg_wort%' ORDER BY $sort";
if ($erg_wort!=""){
echo"<p>Treffer mit dem Schlagwort <b>",
($erg_wort), "</b></p>\n";
$sql="SELECT id,name,original_name,jahr,version,bild,cat,info,actors,fsk,quelle,kommentar,fsk2,version2 FROM dvd_uebersicht". "WHERE $suchen LIKE '%".($erg_wort)."%' "." ORDER BY $sort ;
}
//echo $sql;
$result=mysql_query($sql);
?>
<html><body><title>
<?php
if(!$result or !mysql_num_rows($result))
echo "Keine Ergebnisse</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC><p>Keine Ergebnisse vorhanden</p>";
else {
echo mysql_num_rows($result)," Ergebnisse:</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC>Es wurden <b>",mysql_num_rows($result),"</b> Titel mit ähnlichem oder gleichem Suchkriterium gefunden:<br>
while ($row=mysql_fetch_object($result)){
echo "<td><a href=bilder/",$row->bild,".jpg><img src=bilder/",$row->bild,".jpg width=110 heigth=158 border=0></a></td><td><font size=2>(",$row->id,") </font><b><font color=red size=4>",$row->name,"</font></b><br><br><i>",$row->original_name,"</i></td><td>",$row->jahr,"</td><td>",$row->version,"</td><td><img src=bilder/",$row->fsk,".jpg border=0></td><td>",$row->cat,"</td><td>",$row->kommentar,"</td></tr>
<tr><td colspan=8>",$row->info,"<br><i>Quelle: <a href=http://www.",$row->quelle,".de target=_blank>",$row->quelle,"</a></i></td></tr>
<tr><td colspan=8><b>Schauspieler:</b> ",$row->actors,"<hr size=5><br></td></tr>\n";
}
echo"</tr></table><br><br><a href=suche.php>zurück<a>";
}
?>

finde_b.php (funktioniert!)
PHP:
<?php
[-]
$erg_wort=($_POST['suchen']);
$sort=($_POST['ordnen']);
$sql="";
$result="";
if ($erg_wort!=""){
echo"<p>Treffer mit dem Schlagwort <b>",
($erg_wort), "</b></p>\n";
$sql="SELECT id,name,original_name,jahr,version,bild,cat,info,actors,fsk,quelle,kommentar FROM dvd_uebersicht ".
 "WHERE name LIKE'" . ($erg_wort) . "%' " .
"ORDER BY $sort";
}
//echo $sql;
$result=mysql_query($sql);

//function getmircotime(){
//list($usec, $sec) = explode(' ', microtime());
//return( (float)$usec + (float)$sec);}
//$time = microtime();
//echo "Zeit der Suche: <b>$time</b><br>\n";

?>
<html><body><title>
<?php
if(!$result or !mysql_num_rows($result))
echo "Keine Ergebnisse</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC><p>Keine Ergebnisse vorhanden</p>";
else {
echo mysql_num_rows($result)," Ergebnisse:</title></head><body link=blue vlink=blue alink=blue bgcolor=#CCCCCC>Es wurden <b>",mysql_num_rows($result),"</b> Titel mit ähnlichem oder gleichem Suchkriterium gefunden:<br>
<hr/><table border=0 cellpadding=3 bgcolor=#CCCCCC><tr><td><b><u>Bild</u></b></td><td><b><u>Name</u></b> / <i>Original Name</i></td><td><b><u>Jahr</u></b></td><td><b><u>Version</u></b></td><td><b><u>FSK</u></b></td><td><b><u>Kathegorie</u></b></td><td><b><u>Info</u></b></td><tr>\n";
while ($row=mysql_fetch_object($result)){
echo "<td><a href=bilder/",$row->bild,".jpg><img src=bilder/",$row->bild,".jpg width=110 heigth=158 border=0></a></td><td><font size=2>(",$row->id,") </font><b><font color=red size=4>",$row->name,"</font></b><br><br><i>",$row->original_name,"</i></td><td>",$row->jahr,"</td><td>",$row->version,"</td><td><img src=bilder/",$row->fsk,".jpg border=0></td><td>",$row->cat,"</td><td>",$row->kommentar,"</td></tr>
<tr><td colspan=8>",$row->info,"<br><i>Quelle: <a href=http://www.",$row->quelle,".de target=_blank>",$row->quelle,"</a></i></td></tr>
<tr><td colspan=8><b>Schauspieler:</b> ",$row->actors,"<hr size=5><br></td></tr>\n";
}
echo"</tr></table><br><br><a href=suche_b.php>zurück<a>";
}
?>
 
Wie man am Syntaxhighlighting gut sieht fehlt im oberen Quellcodebeispiel ein schliessendes " bei der Zueweisung zu $sql

PHP:
$sql="SELECT id,name,original_name,jahr,version,bild,cat,info,actors,fsk,quelle,kommentar,fsk2,version2 FROM dvd_uebersicht". "WHERE $suchen LIKE '%".($erg_wort)."%' "." ORDER BY $sort ;

wäre besser so
PHP:
$sql="SELECT id,name,original_name,jahr,version,bild,cat,info,actors,fsk,quelle,kommentar,fsk2,version2 FROM dvd_uebersicht". "WHERE $suchen LIKE '%".($erg_wort)."%' "." ORDER BY $sort";

Und dennoch möchte ich auf die unlogische Verwendung von !$result hinweisen, im Zusammenhang mit der Logik und der Ausgabe in dem Code!
 
also ich habe es so gelernt und es funktioniert ja...

danke für den hinweis.
den fehler habe ich behoben und es kommt ein neuer, wo ich ihn nicht vermutet hätte:
line 38, unexpected ">":
PHP:
echo "<td><a href=bilder/",$row->bild,".jpg><img src=bilder/",$row->bild,".jpg width=110 heigth=158 border=0></a></td><td><font size=2>(",$row->id,") </font><b><font color=red size=4>",$row->name,"</font></b><br><br><i>",$row->original_name,"</i></td><td>",$row->jahr,"</td><td>",$row->version,"</td><td><img src=bilder/",$row->fsk,".jpg border=0></td><td>",$row->cat,"</td><td>",$row->kommentar,"</td></tr>
 
Zurück