Es wurde keine SQL-Abfrage generiert

RobertB

Grünschnabel
Hallo,
bin PHP-Einsteiger und suche nach einer Lösung für mein Problem.
Lerne aus dem Buch PHP 5.3 & MySQL 5.5, aus welchem ich das folgende Script habe.

Code:
<form action="" method="post">
        <textarea name="query" cols="30" rows="5">
        <?php echo htmlspecialchars($_POST['query']); ?>
        </textarea>
        <br />
        <input type="reset" name="reset" value="Feld leeren" />
        <input type="submit" name="submit" value="Abschicken" />
    </form>
    <hr />
    <?php 
    if(isset($_POST['query']) && !empty($_POST['query']))
    {
        //Verbindung herstellen
        $link = mysqli_connect('localhost',
                               'php-lernen',
                               'xxx',
                               'php-lernen');
        if(!$link)
        {
            echo 'Verbindungsfehler: '.mysqli_connect_error();
            die();
        }
        else
        {
            //Abfrage absenden
            $result = mysqli_query($link,$_POST['query']);
            
            //Ergebnisverarbeitung
            if(is_object($result))
            {
                //SELECT verarbeiten
                table_output($result);
                echo 'Zeilen im Ergebins: '.mysqli_num_rows($result);
            }
            elseif($result === true && mysqli_affected_rows($link) != -1)
            {
                // INSERT UPDATE und DELETE verarbeiten
                echo 'Zeilen verändert: '.mysqli_affected_rows($link);
            }
            else
            {
                echo 'Fehler: '.mysqli_error($link);
            }
            //Verbindung beenden
            mysqli_close($link);
        }
    }
    else
    {
        echo '<h3>Es wurde keine SQL Abfrage generiert </h3>';
    }
    function table_output($result)
    {
        $head = true;
        echo '<table border="1">';
        while($row = mysqli_fetch_assoc($result))
        {
            if($head == true)
            {
                echo '<tr>';
                foreach($row as $key=>$val)
                {
                    echo '<th>' .$key. '</th>';
                }
                echo '</tr>';
                reset($row);
                $head = false;
            }
            echo '<tr>';
            foreach($row as $val)
            {
                echo '<td>' .$val. '</td>';
            }
            echo '</tr>';
        }
        echo '</table>';
    }
    ?>

Die Fehlermeldung verstehe ich nicht wirklich, bitte deshalb um Hilfe.
Leider kann ich aus irgendeinem Grund keinen Scrennshot anhängen, aber vielleicht geht es auch so.
Gruß Robert

attachment.php
 
Zuletzt bearbeitet:
Hi und Willkommen bei tutorials.de :)

Wenn ich nichts übersehen habe, soll dein Script genau das machen,
wenn es erst gestartet wird.

Gib eine SQL-Abfrage ins Feld ein und schick das mit dem Button ab.
Dann kommt was anderes.

Und was funktioniert mit dem Bildupload genau nicht?

Gruß
 
Hi sheel,

wenn ich den Screenshot anhängen könnte, wäre vieles sicherlich verständlicher, aber wenn ich auf das Symbol für "Grafik einfügen" klicke, passiert nichts, ausser das der Hintergund einen blauton annimmt.
 
Also bei mir kommt ein kleines Fenster, in dem ich eine Url eingeben kann.
Aber die Methode ist sowieso nur für Bilder geeignet, die schon online sind.

Zum Upload von deinem Computer verwende das Klammersymbol
(ziemlich genau über dem anderen).
 
Ich klicke ja auf die Klammer, aber es passiert nichts, ausser das sich die Hintergundfarbe ändert. Da ich den Screenshot mittlerweile als .jpg hochgeladen habe, müsste ich diesen doch einfügen können, aber Fehlanzeige.
Kann das mit dem Umstand zu tun haben, das Firefox kein ActiveX unterstützt ?
 
Also, ergänzend zum Screenshot.
In dem Fenster gebe ich beispielsweise "Select * From user" ein.
Aber nach dem absenden ist wieder der Text wie im Screenshot enthalten.
Habe ich da vielleicht ein riesen Verständnisproblem ?
 
Aw, jetzt wirds klarer. So sieht man das also im Browser?
Mit "<?php", "function table_output" usw.?

Wie öffnest du die Seite?
a) Upload auf einen Webspace von irgendeinem Anbieter
und Aufruf mit dem Browser über die Internetadresse
b) Doppelklick auf die Datei, um den Browser zu öffnen
c) Aufruf über die lokale URI von deinem XAMPP

Noch eine Frage:
Hast du XAMPP bzw. kennst du das überhaupt?
 
a) Aus Eclipse heraus im Browser
b) Direkt als Datei über den Windows-Explorer
c) Aufruf über die lokale URI von Xampp
Ergebnis ist aber immer gleich.
 
Problem gefunden. Aus irgendeinem Grund hat sich die Datei mit 2 unterschiedlichen Dateiendungen eingeschlichen. 1x php und 1x html.
Nun funktioniert es.
Puuuuh, und Danke für Deine Hilfe. Hab den Wald vor lauter Bäumen schon nicht mehr gesehen.
Für heut ist Feierabend.
Gruß Robert
 
Zurück