Ergebnis 1 bis 9 von 9

Thema: MySQL / PHP - Tabelle auslesen

  1. #1
    Thonixx
    Gast

    Standard MySQL / PHP - Tabelle auslesen - Ausgabe NULL ?!

    Hi Leute

    Seit einigen Tagen sitze ich an einem beschi****** Problem.
    Ich connecte mit der Datenbank, das klappt.

    Ebenfalls lese ich alle Tabellen schön aus, bis auf eine.
    Ich habe zusätzlich die Tabelle "news" angelegt und will sie nun auslesen.
    Eintragen funktioniert gut, doch es gibt mir immer "NULL" zurück, wenn ich die Tabelle lesen will.

    Das scheint mir unerklärlich, da ich doch den Code von den bisherigen Auslese-Scripts von mir kopiert habe und alles funktioniert.

    Hier mal der PHP Code:
    PHP-Code:
    <?php 
        
    if (!defined('INDEX')) { 
            
    header("Location: ../"); 
            exit(
    'Error: Zugriff verweigert, bitte ruf diese Seite über die  Hauptseite auf.'); 
                } 
    ?>
    <?php
        
        
        
        
    if(isset($_POST['publish'])) {
            
    $fehler = array();
            
            if(!
    trim($_POST['title'])) $fehler[] = 'Schlagzeile (Titel)  fehlt';
            if(!
    trim($_POST['content'])) $fehler[] = 'News-Text fehlt';
            
            if(
    count($fehler) == 0) {
                
    $new_news_entry_sql 'INSERT INTO `news` (
                                                        id,
                                                        author,
                                                        title,
                                                        content,
                                                        datum
                                                            )
                                        VALUES ( NULL,  "'
    .$data['id'].'",  "'.$_POST['title'].'", "'.$_POST['content'].'", '.time().' )';
                
    $new_news_entry_query mysql_query($new_news_entry_sql);
                    }
                }
        
    ?>
    <h2>News-Editor</h2>
    <a href="?src=<?php echo $_GET['src']; ?>">&raquo;  Zurück zur Übersicht</a><br /><br />
    <h3>Liste vorhandener Einträge</h3>
    <table summary="news">
        <th>
            <td class="bold">Schlagzeile</td>
            <td class="bold">News-Text</td>
            <td width="80" class="bold">Erstellt von</td>
            <td width="80" class="bold">Erstellt am</td>
        </th>
        <?php
            
            
    //$news_sql = "SELECT * FROM `news` LIMIT 0, 30 ";
            
    $news_sql 'SELECT
                                `title`,
                                `content`,
                                `author`,
                                `datum`
                        FROM
                                `news`
                        ORDER BY
                                `id` ASC
                        LIMIT
                                0 , 30'
    ;
            
    $news_qery mysql_query($news_sql);
            
    //var_dump($news_query);
            //var_dump(mysql_fetch_array($news_query));
            
            
    $sth false;
            
            while(
    $news_entries mysql_fetch_array($news_query,  MYSQL_ASSOC)) {
                echo 
    '<tr>';
                echo 
    '<td>';
                echo 
    $news_entries['title'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['content'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['author'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['datum'];
                echo 
    '</td>';
                echo 
    '</tr>';
                
    $sth true;
                    }
            
            echo 
    mysql_error();
            
            if(
    $sth == false) {
                echo 
    '<tr>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '---';
                echo 
    '</td>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '(Noch) keine Einträge vorhanden.';
                echo 
    '</td>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '---';
                echo 
    '</td>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '---';
                echo 
    '</td>'."\r\n";
                echo 
    '</tr>'."\r\n";
                    }
            
        
    ?>
    </table>
    <h2>Neuen News-Eintrag hinzufügen</h2>
    <?php
        
        
    if(count($fehler) != 0) {
            echo 
    '<h3>Fehler beim Speichern des  Newseintrags</h3>'."\r\n";
            echo 
    '<ul class="fehler_liste">';
            foreach(
    $fehler as $x) {
                echo 
    '<li>&raquo; '.$x.'</li>';
                    }
            echo 
    '</ul>';
                }
        elseif(isset(
    $_POST['publish'])) {
            if(
    $new_news_entry_query) echo '<h3  class="green">Erfolgreich gespeichert</h3>';
            else echo 
    '<h3 class="red">Konnte nicht gespeichert  werden. Bitte später erneut versuchen.</h3>';
                }
        
    ?>
    <form action="?src=<?php echo $_GET['src']  ?>&amp;edit=<?php echo $_GET['edit'?>" method="post">
        <div>
            <label for="title">Schlagzeile<br /><span  class="light">(max. 30 Zeichen)</span></label>
            <input type="text" size="26" name="title" id="title"  value="<?php echo $_POST['title'?>" /><br />
            <label for="content__">Newsnachricht</label>
            <textarea cols="34" rows="8" id="content__"  name="content"><?php if(isset($_POST['content'])) echo  $_POST['content'?></textarea><br /><br />
            <span class="label">&nbsp;</span><input  type="submit" value="Veröffentlichen" name="publish" />
        </div>
    </form>
    Theoretisch müsste es logischerweise doch an diesem Abschnitt liegen?
    PHP-Code:
     <?php
            
            
    //$news_sql = "SELECT * FROM `news` LIMIT 0, 30 ";
            
    $news_sql 'SELECT
                                `title`,
                                `content`,
                                `author`,
                                `datum`
                        FROM
                                `news`
                        ORDER BY
                                `id` ASC
                        LIMIT
                                0 , 30'
    ;
            
    $news_qery mysql_query($news_sql);
            
    //var_dump($news_query);
            //var_dump(mysql_fetch_array($news_query));
            
            
    $sth false;
            
            while(
    $news_entries mysql_fetch_array($news_query,  MYSQL_ASSOC)) {
                echo 
    '<tr>';
                echo 
    '<td>';
                echo 
    $news_entries['title'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['content'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['author'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['datum'];
                echo 
    '</td>';
                echo 
    '</tr>';
                
    $sth true;
                    }
            
            echo 
    mysql_error();
            
            if(
    $sth == false) {
                echo 
    '<tr>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '---';
                echo 
    '</td>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '(Noch) keine Einträge vorhanden.';
                echo 
    '</td>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '---';
                echo 
    '</td>'."\r\n";
                echo 
    '<td>'."\r\n";
                echo 
    '---';
                echo 
    '</td>'."\r\n";
                echo 
    '</tr>'."\r\n";
                    }
            
        
    ?>
    Danke für die Hilfe.
    Datenbankconnection und alles funktioniert prima, daran liegts bestimmt nicht, denk ich mal.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Thonixx (19.02.2010 um 11:40 Uhr)

  2. #2
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: MySQL / PHP - Tabelle auslesen

    EDIT: ich hab mich vertan^^ der Fehler liegt hier:
    PHP-Code:
    $news_qery mysql_query($news_sql); 
    probiers mal mit $news_query ^^
    Geändert von crAzywuLf (19.02.2010 um 11:49 Uhr)
    Gruß crAzywuLf

  3. #3
    Bandit
    Gast

    Standard AW: MySQL / PHP - Tabelle auslesen

    Da müsste doch eigentlich eine Fehlermeldung geworfen werden?!

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
    Die Ausgaben per echo bzw. var_dump kann man sich ersparen, in dem man einen Debugger benutzt.

  4. #4
    Thonixx
    Gast

    Standard AW: MySQL / PHP - Tabelle auslesen

    Ach du Scheisse! o.O

    Das ist wieder mal peinlich.
    Und bandit600, diesen Text kenne ich sehr gut auswendig.
    Alle Schritte habe ich durchgeführt aber bin nicht drauf gekommen.
    Sorry, ist alles erledigt.

    Hatte schon einen Profi gefragt, der aber das auch nicht entdeckt hat.
    Naja was solls, danke.

    @bandit600:
    Nein, PHP hat leider nicht gemeckert, trotz error_reporting("E_ALL") und dergleichen.

  5. #5
    Bandit
    Gast

    Standard AW: MySQL / PHP - Tabelle auslesen

    Zitat Zitat von Thonixx Beitrag anzeigen
    Und bandit600, diesen Text kenne ich sehr gut auswendig.
    Alle Schritte habe ich durchgeführt aber bin nicht drauf gekommen.
    Das kann unmöglich sein! Wenn du das nur annähernd beherzigen würdest, hättest du das finden müssen!!!
    Beispiel
    PHP-Code:
    <?php 
        
    // Debug
        
    error_reporting(E_ALL);
        
    ini_set("display_errors"true);
        
        if (!
    defined('INDEX')) { 
            
    header("Location: ../"); 
            exit(
    'Error: Zugriff verweigert, bitte ruf diese Seite über die  Hauptseite auf.'); 
                } 
    ?>
    <?php
        
        
        
        
    if(isset($_POST['publish'])) {
        
            
    // Debug
            
    echo '$_POST[publish] ist gesetzt<br>';
            
            
    $fehler = array();
            
            if(!
    trim($_POST['title'])) $fehler[] = 'Schlagzeile (Titel)  fehlt';
            if(!
    trim($_POST['content'])) $fehler[] = 'News-Text fehlt';
            
            if(
    count($fehler) == 0) {
                
    $new_news_entry_sql 'INSERT INTO `news` (
                                                        id,
                                                        author,
                                                        title,
                                                        content,
                                                        datum
                                                            )
                                        VALUES ( NULL,  "'
    .$data['id'].'",  "'.$_POST['title'].'", "'.$_POST['content'].'", '.time().' )';
                                        
                
    // Debug
                
    echo '$new_news_entry_sql =' $new_news_entry_sql '<br>';
                
                
    $new_news_entry_query mysql_query($new_news_entry_sql);
                         or die (
    "MySQL-Fehler: " mysql_error()); // Debug
                    
    }
                }
        
    ?>
    <h2>News-Editor</h2>
    <a href="?src=<?php echo $_GET['src']; ?>">&raquo;  Zurück zur Übersicht</a><br /><br />
    <h3>Liste vorhandener Einträge</h3>
    <table summary="news">
        <th>
            <td class="bold">Schlagzeile</td>
            <td class="bold">News-Text</td>
            <td width="80" class="bold">Erstellt von</td>
            <td width="80" class="bold">Erstellt am</td>
        </th>
        <?php
            
            
    //$news_sql = "SELECT * FROM `news` LIMIT 0, 30 ";
            
            
    $news_sql 'SELECT
                                `title`,
                                `content`,
                                `author`,
                                `datum`
                        FROM
                                `news`
                        ORDER BY
                                `id` ASC
                        LIMIT
                                0 , 30'
    ;
                                
            
    // Debug
            
    echo '$news_sql =' $news_sql '<br>';
                
            
    $news_qery mysql_query($news_sql)
                or die (
    "MySQL-Fehler: " mysql_error());
                
            
    //var_dump($news_query);
            //var_dump(mysql_fetch_array($news_query));
            
            
    $sth false;
            
            
    // Debug 
            
    echo '$news_query = ' $news_query '<br>';
            
            while(
    $news_entries mysql_fetch_array($news_query,  MYSQL_ASSOC)) {
                echo 
    '<tr>';
                echo 
    '<td>';
                echo 
    $news_entries['title'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['content'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['author'];
                echo 
    '</td>';
                echo 
    '<td>';
                echo 
    $news_entries['datum'];
                echo 
    '</td>';
                echo 
    '</tr>';
                
    $sth true;
                    }
    Das kann doch echt nicht so schwer sein!

  6. #6
    Thonixx
    Gast

    Standard AW: MySQL / PHP - Tabelle auslesen

    Hey ich bin nicht blöd.
    Hab ich nicht eben gesagt, ich hätte das ja schon ewigs drin?

    Klar ist es nicht schwer, bin schliesslich kein Anfänger.
    Ich progge ausschliesslich mit diesen zwei Zeilen fürs Debugging drin.
    Aber das Projekt ist schon so mächtig, dass mir kleine Fehler wie Variablennamen nicht mehr auffallen.
    Habs wirklich nicht gerafft, aber Thema ist jetzt erledigt.

    Ich hab das Script auch mehrmals aufmerksam durchgelesen aber dieses "u", welches fehlte habe ich wirklich nicht entdeckt.

  7. #7
    Bandit
    Gast

    Standard AW: MySQL / PHP - Tabelle auslesen

    Wem willst du das erzählen??? Dafür progammiere ich schon zu lange!!!
    PHP-Code:
    <?php
       error_reporting
    (E_ALL);
     
       
    ini_set("display_errors"true);
     
       
    mysql_connect("localhost""root""");
     
       
    mysql_select_db("test");
     
       
    $query "Select * from testtabelle";
     
       
    // Hier der beabsichtigte Fehler
       
    $reslt mysql_query($query)
          or die (
    "MySQL-Fehler: " mysql_error());
     
       while (
    $row mysql_fetch_array($result))
       {
           
    print_r($row);
       }
    ?>
    Ausgabe:
    Notice: Undefined variable: result in E:\htdocs\xx.php on line 15

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\htdocs\xx.php on line 15
    Also erzähl mir nicht, du hättest das Error-Reporting hochgedreht.

  8. #8
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: MySQL / PHP - Tabelle auslesen

    owned^^
    Gruß crAzywuLf

  9. #9
    Thonixx
    Gast

    Standard AW: MySQL / PHP - Tabelle auslesen

    Das ist nicht die ganze Datei.
    Das error_reporting steht da, hab halt nich den ganzen Code kopiert, da ich nicht alles davon posten dürfte, ist n Projekt bei der Arbeit.
    Nun weiss ich aber, was du mir sagen wolltest.
    Bin wohl schwer von Begriff irgendwie.

    Aber gut okay, alles klar.

Ähnliche Themen

  1. Tabelle aus Quellcode auslesen
    Von Unregistriert im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 08.09.2009, 16:14
  2. automatisches auslesen einer Mysql Tabelle
    Von PHPDummy im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 03.07.2007, 13:10
  3. MySQL Werte von Tabelle a in Tabelle b eintragen.
    Von Barret im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 08.02.2007, 11:42
  4. mysql variable auslesen
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 04.11.2006, 12:47
  5. mySQL: URL richtig eintragen und auslesen?
    Von webbie im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 24.12.2004, 09:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •