kostenloser Webspace werbefrei: lima-city


problem mit MySQL Abfrage [PHP]

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    c****4

    Hi Leute,
    gleich vorweg möchte ich sagen, dass ich noch ein Anfänger in Sachen PHP bin.
    Aber nun zu meinem Problem:
    Ich möchte mir ein Gästebuch programmieren.
    Dazu habe ich bereits eine Datei geschrieben, welche die eingegeben Daten an die MySQL Datenbank sendet.
    Diese heißt add.php:
    <?PHP
     $database= "usr_web258_2";
     $sqlhost= "localhost";
     $sqluser= "***";
     $sqlpass= "***";
     $db_link = @mysql_connect($sqlhost,$sqluser,$sqlpass);
     
     if(!$db_link) {    echo "Es konte keine Verbindung zum gew&auml;hlten Sql Server aufgebaut werden."; exit; };
     if($db_link)  { 
      if(!mysql_select_db($database)) { echo "Es Konnte keine Verbindung zur Datenbank aufgebaut werden."; exit; 
      };
     };
    
    echo "
    <h2>Mein erstes guestbook</h2>
    <form action='$PHP_SELF' method='GET'>
    <table>
     <tr>
      <td align='right'>Name:</td>
      <td><input type='text' name='name' /></td>
     </tr>
     <tr>
      <td align='right'>Email:</td>
      <td><input type='text' name='email' /></td>
     </tr>
     <tr>
      <td align='right'>Text:</td>
      <td><input type='text' name='text' /></td>
     <tr>
     <tr>
      <td colspan='2' align='right'><input type='submit' name='send' value='OK' /></td>
     </tr>
    </form>
    ";
    $date = date('Y.m.d');
    $IP = $_SERVER['REMOTE_ADDR'];
    
    if ($send) {
    $sql="INSERT INTO guestbook (name,email,ip,date,text) VALUES('$name','$email','$IP','$date','$text')";
    $result=mysql_query($sql);  
    }
    ?>


    Dies funktioniert reibungslos, mein Problem liegt in der Ausgabe der Daten:
    guestbook.php:
    <?php
     $database= "usr_web258_2";
     $sqlhost= "localhost";
     $sqluser= "web258";
     $sqlpass= "***";
     $db_link = @mysql_connect($sqlhost,$sqluser,$sqlpass);
     
     if(!$db_link) {    echo "Es konte keine Verbindung zum gew&auml;hlten Sql Server aufgebaut werden."; exit; };
     if($db_link)  { 
      if(!mysql_select_db($database)) { echo "Es Konnte keine Verbindung zur Datenbank aufgebaut werden."; exit; 
      };
     };
    $read = "SELECT * FROM guestbook";
    $result = mysql_query('$read');
    
    while ($row=mysql_fetch_array($result)) {
    
    echo "<br>";
    echo "<table width='50%' height='100px' border='1' align='center'>";
    echo "<tr>";
    echo "<td colspan='2' width='100%' align='center' valign='middle'>Eintrag Nr.: ".$row['id']."</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='50%' align='left' valign='middle'> ".$row['name']."</td>";
    echo "<td width='50%' align='right' valign='middle'> ".$row['email']."</td>";
    echo "</tr>";
    echo "<tr valign='top'>";
    echo "<td height='100px' colspan='2'>".$row['text']."</td>";
    echo "</tr>";
    echo "<tr align='center' valign='middle'>";
    echo "<td colspan='2'>".$row['date']."</td>";
    echo "</tr>";
    echo "</table>";
    echo "<br>";
    
    }
    
    ?>


    Hierbei zeigt mir mein Browser aber folgenden Fehler an:
    "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web258/html/matze/php/php_guestbook/guestbook.php on line 16
    "

    Ich hoffe ihr könnt mir helfen - schon im vorraus gibt es einen Dank von mir ;) .

    Matze

    Beitrag geaendert: 31.3.2007 11:16:13 von ct2004

    Beitrag geaendert: 31.3.2007 11:29:42 von ct2004
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. s********n

    So wie ich das beurteile, liegt es an der Abfrage selber:
    SELECT * FROM guestbook

    Ich habe dieses Problem auch immer wieder... Und es lag meistens daran.
    Wie ich es mache:
    SELECT * FROM `guestbook` ORDER BY `date` DESC

    Ich hoffe es hilft und sonst einfach nochmals posten =)

    mfg sebi

    Ps: Vielleicht ist auch der Connect nicht korrekt... Oder die Tabelle ist in ner andern DB usw... Einfach nochmals überprüfen!

    Beitrag geaendert: 31.3.2007 11:33:03 von skate-4fun
  4. Autor dieses Themas

    c****4

    die Methode mit den ' funktioniert leider nicht.
    Aber die Verbindung mit der Db funktioniert, sonst würde eine Fehlermeldung angezeigt werden.
    immer noch der selbe Fehler:
    "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web258/html/matze/php/php_guestbook/guestbook.php on line 16"

    Weitere Lösungsvorschläge?
  5. s********n

    Sind alle Variabeln eindeutig??? Benutzt duu sie nie vorher??? also zB $result...
    Das könnte noch einen Grund sein.

    Und bei der While-Schleife:

    while($row = mysql_fetch_array($result)){

    (ohne abstände... ich weiss zwar nicht ob das eine Rolle spielt...)

    lg sebi

    Beitrag geaendert: 31.3.2007 11:36:22 von skate-4fun
  6. Autor dieses Themas

    c****4

    also an den Abständen kann es eigentlich nicht liegen. Nein ich benutze die Variablen niemals zuvor. Es existieren wirklich nur die zwei Dateien bisher.

    Und immer noch der selbe Fehler :P
    Noch jmd irgendeine Idee???

    //->
    Ich habe es mal so probiert:
    $read = "SELECT * FROM 'guestbook' ORDER BY 'date' DESC";
    $result = mysql_query($read);
    
    while ($row = mysql_fetch_assoc($result)) {

    und auch so:
    while ($row = mysql_fetch_assoc(mysql_query(SELECT * FROM guestbook ORDER BY date DESC))) {

    bei dem letzen mit folgendem Ergebnis:
    =>
    Parse error: parse error, unexpected T_STRING in /srv/www/htdocs/web258/html/matze/php/php_guestbook/guestbook.php on line 14



    Beitrag geaendert: 31.3.2007 11:49:03 von ct2004
  7. b****y


    Ich habe es mal so probiert:
    $read = "SELECT * FROM 'guestbook' ORDER BY 'date' DESC";
    $result = mysql_query($read);
    
    while ($row = mysql_fetch_assoc($result)) {


    Ich weiß nicht ob es daran liegen könnte, dass du keine Verbindungsvariable gesetzt hast, also ungefähr so:

    $read = "SELECT * FROM 'guestbook' ORDER BY 'date' DESC";
    $result = mysql_query($read, [b]$verbindung[/b]);
    
    while ($row = mysql_fetch_assoc($result)) {

  8. Autor dieses Themas

    c****4

    ahhh jetzt hab ichs...

    <?php
     $database= "usr_web258_2";
     $sqlhost= "localhost";
     $sqluser= "web258";
     $sqlpass= "a3q4rz";
     $db_link = @mysql_connect($sqlhost,$sqluser,$sqlpass);
     
     if(!$db_link) {    echo "Es konte keine Verbindung zum gew&auml;hlten Sql Server aufgebaut werden."; exit; };
     if($db_link)  { 
      if(!mysql_select_db($database)) { echo "Es Konnte keine Verbindung zur Datenbank aufgebaut werden."; exit; 
      };
     };
    
    $read = "SELECT * FROM guestbook ORDER BY 'date' DESC";
    $result = mysql_query($read);
    
    while ($row = mysql_fetch_assoc($result)) { 
    
    
    echo "<br>";
    echo "<table width='50%' height='100px' border='1' align='center'>";
    echo "<tr>";
    echo "<td colspan='2' width='100%' align='center' valign='middle'>Eintrag Nr.: ".$row['id']."</td>";
    echo "</tr>";
    echo "<tr>";
    echo "<td width='50%' align='left' valign='middle'> ".$row['name']."</td>";
    echo "<td width='50%' align='right' valign='middle'> ".$row['email']."</td>";
    echo "</tr>";
    echo "<tr valign='top'>";
    echo "<td height='100px' colspan='2'>".$row['text']."</td>";
    echo "</tr>";
    echo "<tr align='center' valign='middle'>";
    echo "<td colspan='2'>".$row['date']."</td>";
    echo "</tr>";
    echo "</table>";
    echo "<br>";
    
    }
    
    ?>


    danke!
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!