echo-Ausgabe in variable ausgeben lassen

db_query() ist keine von php vorgegebene Funktion. Die muss irgendwo in deinen Dateien deklariert werden. Wenn du alles selbst geschrieben hast, solltest Du sie eigentlich finden können.
 
Vermutlich ist die Funktion in der db_connect.inc.php definiert. Schau dort einfach mal in den Sourcecode und suche nach db_query. Dann postest du den Sourcecode.
 
Guten Morgen!

Hier meine db.connect.inc.php (wurde uns von unserem Prof gestellt):

PHP:
<?php

/**
 * Fachhochschule Erfurt
 *
 * include_datei zur Abfrage einer Datenbank
 *
 * @author Prof. Dr.-Ing. Dieter Huber
 * @copyright 2009
 */

//----------------------------------------------------------

// Daten des Servers:
$dbhost_ip = 'localhost';    //Hostname
$dbuser    = 'root';         //Benutzer
$dbpw      = '';             //Passwort
$dbname    = 'db_name';    //Datenbankname

//----------------------------------------------------------
// Funktion Datenbankabfrage
  function db_query( $dbname, $sql )
  {
    global $dbhost_ip, $dbuser, $dbpw;

    // Verbindung zum DB-Host herstellen
    $verbindung = @mysql_connect( $dbhost_ip, $dbuser, $dbpw )
         or die ('Verbindung zum Datenbank-Rechner (IP-Adresse '.$dbhost_ip.')
                  konnte nicht hergestellt werden!<br />Fehlertext: '
                 .mysql_error());

    // auswählen der Datenbank
    mysql_select_db( $dbname, $verbindung );

    // ausführen einer SQL-Anfrage
    $ergebnis = mysql_query( $sql );

    // Datenbankverbindung schließen
    mysql_close( $verbindung );

    // Rückgabe des Ergebnisses
    return( $ergebnis );
  }
?>
 
Das sollte man so schnell wie möglich umbauen, ist total inperformant. Ok, aber erstmal zum Problem:

Bau mal diese Zeile um:

PHP:
    // ausführen einer SQL-Anfrage
    $ergebnis = mysql_query( $sql );
zu

PHP:
    // ausführen einer SQL-Anfrage
    $ergebnis = mysql_query( $sql ) or die("Fehler: " . mysql_error() . "<br/>SQL = $sql");

EDIT: Was heute als Professor for Ing. alles zugelassen wird, ne ne...
 
Zuletzt bearbeitet:
Da die diese Art von Fragen sehr oft kommt, habe ich mal ein Tutorial geschrieben wie man am besten auf Fehlersuche geht.
PHP/MySQL Debug Queries
Geh es doch mal durch und falls du die Lösung nicht findest, poste mal das ausgegebe SQL-Statement ins Forum.

Es bringt nix, wenn wir hier deine Aufgabe programmieren und dir jede Zeile vorgeben. Damit lernst du gar nix ausser CopyPaste.
 
Fehlermeldung kommt warscheinlich deshalb keiner, da es keinen Fehler gibt.
Du sagst es wird ja Code ausgegeben, halt nur nicht Felder aus der DB. Das heist es stimmt mit dem fetch nicht.
ändere:
PHP:
$daten=mysql_fetch_array($ergebnis);
zu
PHP:
$daten=mysql_fetch_row($ergebnis);

oder lass bau die fetch_array abfrage um:

PHP:
<?php
// Hier entweder mysql_fetch_row($ergebnis);
// oder mysql_fetch_array als schleife durchgehen
//while($daten = mysql_fetch_array($ergebnis)){
?>
  ID: <?php echo $daten['id_angebot'] ?><br>
  Anbieter: <?php echo $daten['anbieter']?><br>
  Von <?php echo $daten['startstadt']?><br>
  nach <?php echo $daten['zielstadt']?><br>
  am <?php echo $daten['datum']?><br>
  um <?php echo $daten['startzeit']?><br>
  Anzahl an m&ouml;glichen Mitfahreren:  <?php echo $daten['anzahl_mitfahrer']?><br>
  Fahrtkosten: <?php echo $daten['fahrtkosten']?><br>
  Raucher-PKW?:   <?php echo $daten['raucher']?><br>
  <a href="buchung.php"> Buchung</a>
  <?php
// schleife ende
  }



?>
 
Mein Quellcode sieht nun folgendermaßen aus:

PHP:
<?php

/**
 * Fachhochschule Erfurt
 *
 * include_datei zur Abfrage einer Datenbank
 *
 * @author Prof. Dr.-Ing. Dieter Huber
 * @copyright 2009
 */

//----------------------------------------------------------

// Daten des Servers:
$dbhost_ip = 'localhost';    //Hostname
$dbuser    = 'root';         //Benutzer
$dbpw      = '';             //Passwort
$dbname    = 'db_boeker';    //Datenbankname

//----------------------------------------------------------
// Funktion Datenbankabfrage
  function db_query( $dbname, $sql )
  {
    global $dbhost_ip, $dbuser, $dbpw;

    // Verbindung zum DB-Host herstellen
    $verbindung = @mysql_connect( $dbhost_ip, $dbuser, $dbpw )
         or die ('Verbindung zum Datenbank-Rechner (IP-Adresse '.$dbhost_ip.')
                  konnte nicht hergestellt werden!<br />Fehlertext: '
                 .mysql_error());

    // auswählen der Datenbank
    mysql_select_db( $dbname, $verbindung );

    // ausführen einer SQL-Anfrage
    $ergebnis = mysql_query( $sql ) or die("Fehler: " . mysql_error() . "<br/>SQL = $sql");


    // Datenbankverbindung schließen
    mysql_close( $verbindung );

    // Rückgabe des Ergebnisses
    return( $ergebnis );
  }
?>

Wenn ich ihn mir in PHPedit (das Programm mit dem ich den Text bearbeite) anschaue, sind die variblen immer in einer bestimmten Farbe gehalten (automatisch: Lila). Aber bei: SQL = $sql") ist das $sql nicht als Variable vom Programm erkannt wurden. Das macht mich etwas stutzig. Hatte das früher schonmal, da hat dann irgendwo ein Komma, Semikolon oder ähnliches gefehlt.
 

Neue Beiträge

Zurück