Frage zu Tutorial

tetsuo666

Mitglied
Frage zu Tutorial (MySQL 5.0.19-Debian und PHP 5.1.2)

Hallo,

habe folgendes Tutorial durchgemacht...
http://www.tutorials.de/forum/php-tutorials/15435-mysql-inhalte-ueber-webinterface-ein-ausgeben.html

Leider scheint da irgendetwas nicht zu funktionieren. Habe das gesamte Forum schon abgesucht, aber nirgendwo eine mögliche Antwort gefunden.

Problem:

Die Datenbank wird mit der db_erstellen.php noch sauber erstellt, die Dateneingabe über db_eingabe.html auch noch fehlerlos ausgeführt - aber in der Tabelle kommt nichts an!
Bin über phpmyadmin eingeloggt, und sehe keinen Datensatz den ich eingebe. Auch die Ausgabe über db_ausgabe.php funktioniert nicht.

Der Primärschlüssel zählt schön einen Eintrag nach dem anderen nach oben, aber die restlichen Felder (in diesem Fall header, artikel) bleiben leer.

Warum ? Liegt der fehler in der work.php ?
Und warum wird eigentlich bei der Eingabe mit Arrays gearbeitet, wenn es doch einzelne Variablen sind: $Array[header] $Array[artikel] statt $header $artikel ?

Vielleicht könnte mir jemand hier weiter helfen - die Materie ist nämlich als absoluter Neuling in PHP und MySQL ganz schön happig !

Besten Dank,
Tetsuo


Edit: PHP und MySQL Versionen hinzugefügt!
MySQL 5.0.19-Debian und PHP 5.1.2
 
Zuletzt bearbeitet:
mach mal unter die Zeile mit $dbanfrage ne Ausgabe mit:
echo $dbanfrage und sag was dabei raus kommt....
 
Hallo Divi,

vielen Dank für dein Hilfe - ich glaubte schon gar nicht mehr an eine Antwort...

Ehrlich gesagt weiss ich leider gar nicht wo ich echo $dbanfrage unterbringen soll:

In der Datei "db_erstellen.php", in der Datei "work.php" oder in "db_ausgabe.php" ?

Wo also soll ich die echo Ausgabe einfügen? - Sorry, bin wirklich Neuling in Sachen PHP (und MySQL)...


Tetsuo
 
in der Datei work.php - da haste die Zeile:

$dbanfrage = "INSERT into[...]

da schreibste drunter

echo $dbabfrage;

damit kannste dann den Inhalt dieser Variable ausgeben - und darüber kann man dann testen, ob das Statement, dass an die DB geht richtig ist
 
Zuletzt bearbeitet:
darum sollst du ja in der Datei wo steht "Datenbankeintrag erfolgreich." dadrüber das mit dem "echo ..." machen ... dann kannst du nämlich sehen, was der an die db schickt...
 
Habe jetzt folgendes in den Code eingefügt:

Code:
<?php
$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="testdb";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('0', '$Array[vorname]', '$Array[nachname]', '$Array[email]')"; 

echo $dbanfrage;

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);
?>
Man beachte es ist
Code:
echo $dbanfrage;
und nicht
Code:
echo $dbabfrage;
Dabei kommt folgendes raus:
Code:
INSERT into testdb values ('0', '', '', '')Datenbankeintrag erfolgreich.
Was bedeutet das ?
 
Da siehst du dran, dass bereits im Statement die Werte, die an die Datenbank gesendet werden, leer sind. Mach mal aus der Abfrage:

PHP:
$dbanfrage = "INSERT into $tabelle values ('0', $_REQUEST["header"], $_REQUEST["artikel"])";

denn offensichtlich ist die Fehlermeldung nur unterdrückt, denn die Variable $ARRAY, die da vorher drin stand, die gibbet in dem Script anscheinend garnicht vorher ... In der Variable $_REQUEST (wenn das klappt, benutz lieber sicherheitshalber später $_POST) werden alle an das Script übergebenen Werte gespeichert...
 
Okay, habe die Abfrage geändert... dann kommt allerdings folgende Fehlermeldung:

Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /srv/www/httpd/phost/e/de/xxxxxxxx......
 
Hallo!

Versuche es mal so:
PHP:
$dbanfrage = "INSERT into $tabelle (header,artikel) values ('".$_REQUEST['header']."', '".$_REQUEST['artikel']."')";
Wenn es funktioniert, dann mache aus $_REQUEST mal $_POST.

Nochwas: das Script 1:1 zu übernehmen ist nicht unbedingt angebracht..... ist ja schon etwas in die Jahre gekommen. ;)

Gruss Dr Dau
 

Neue Beiträge

Zurück