php & mysql(unexpected $ at line 212)



  • ich hab folgendes problem mir wird am ende immer ein unexpected $ angezeigt ( am ende is keines

    ich arbeite mit ner selbs gemachten funktion

    <?
    
    $link = mysql_connect('localhost','xxxxx','xxxxx');
    mysql_select_db ("xxxxx",$link);
    
    function avail($wert)
    {
    
    $qry = "SELECT 1_o_0 from sitz where sitzplatz = '$wert';";
    
    $result = mysql_query($qry) or die (mysql_error());
    $row = mysql_fetch_array($result) or die (mysql_error()); 
    if ($row==1){
    	echo" style=\"background-color:#000000\" ";
    	} else { 	echo" style=\"background-color:#ffffff\" ";
    }
    
    ?>
    

    den setze ich so ein

    <table width="400px" border="1">
      <tr>
        <td <?php avail('a1'); ?> >&nbsp;</td>
        <td <?php avail('a2'); ?> >&nbsp;</td>
        <td <?php avail('a3'); ?> >&nbsp;</td>
    .
    .
        <td <?php avail('h8'); ?> >&nbsp;</td>
        <td <?php avail('h9'); ?> >&nbsp;</td>
        <td <?php avail('h10'); ?> >&nbsp;</td>
      </tr>
    </table>
    
    <?php mysql_close($link); ?>
    
    </body>
    </html>
    <---da soll der Fehler sein ( ende des scripts )
    

    in der sql tabelle (sitz) hab ich eine spallte sitzplatz und eine 1_o_0 ( eins oder 0)

    wenn 1 dann soll der das tabellen feld grün machen wenn nicht dann rot , kann ir einer sagen wo mein fehler ist? ich finds einfach nicht

    danke, Rio



  • hallo

    es fehlt die abschließende klammer für deine funktion...
    immer klammern zählen 😉

    zum anderen ist ein semikolon zuviel:

    $qry = "SELECT 1_o_0 from sitz where sitzplatz = '$wert';";//<-- auf jeden ein fehler
    


  • das mit der klammer stimmt , das sql statement is richtig, ein ; für die sql abfrage , ein " für die beendigung des strings der ind die variable $qry gescrieben wird und noch ein ; für das ende des reinschreibens in die variable

    THX fürs fehlerfinden , hab da jetzt5 stunden dran gesessen 😃


  • Mod

    rio schrieb:

    das sql statement is richtig, ein ; für die sql abfrage , ein " für die beendigung des strings der ind die variable $qry gescrieben wird

    Und genau das ist falsch.

    Kann aber auch sein, dass es keinen Fehler produziert - aber auf jdenfall unnötig.



  • Unnötig aber es produziert keine Fehler. MySQL ingnoriert es einfach



  • Wieso brauchen MySQL Statements keine Semikolons mehr?


  • Mod

    Vernochan schrieb:

    Wieso brauchen MySQL Statements keine Semikolons mehr?

    Weil es sich hier um PHP dreht. Und PHP hängt das Semikolon selber an - man braucht es ja auch deswegen nicht, weil du nicht 2 queries gleichzeitig losschicken kannst.



  • Okay das PHP das automatisch dranhängt wusste ich nicht.
    Danke für die Info...

    Aber ich glaube ich werde der gewohnheit weiterhin das ; machen *g*
    <--- AnsiSQL gewöhnt ^^


Anmelden zum Antworten