Problem mit DB

Hallo habe mir vorhin Scripte gebaut mit denen man Daten in Tabellen schreiben kann und auch auslesen lassen kann. (mit hilfe eines Tutorials, bin Anfänger)
Nun lassen sich schon Daten über ein Formular eingeben und abschicken, funzt alles, aber in der Datenbank sind die Tabellen dann leer. Es werden aber immer neue id´s in der db erstellt!

Ausgabe: (wie man hier sieht werden hier auch nur 2 eingegebene Daten leer angezeigt)

Danke schon mal!

wernerc

Schön, dass du uns die Ausgabe zeigst (könnte ja sonst sein, wir sind ganz bösartig und glauben dir einfach nicht …)

Aber der Fehler wird wohl eher im Script liegen.

was meinst du damit?

Die Kristallkugel von chrisb scheint defekt zu sein. Du mußt wohl den Quelltext, sprich PHP-Datei hier mal Posten, damit wir dir evtl. Fehler zeigen können.

[code]

Inhalte ausgeben <?php $host = "localhost"; $user = "germanparkguide"; $password = "xxx"; $dbname = "germanparkguide"; $tabelle ="germanparkguide"; $dbverbindung = mysql_connect ($host, $user, $password); $dbanfrage = "SELECT * from $tabelle"; $result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung); while ($ausgabe = mysql_fetch_array ($result)) { print ("$ausgabe[header]

$ausgabe[artikel]


"); } mysql_close ($dbverbindung) ?> [/code]

[code]

Dateneingabe Überschrift


Artikel

[/code]

[code]

Daten verarbeiten <?php $host = "localhost"; $user = "germanparkguide"; $password = "xxx"; $dbname = "germanparkguide"; $tabelle ="germanparkguide"; $dbverbindung = mysql_connect ($host, $user, $password); $dbanfrage = "INSERT into $tabelle values ('0', '$Array[header]', '$Array[artikel]')"; if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) { print ("Datenbankeintrag erfolgreich."); } else { print ("Es traten Probleme auf."); } mysql_close ($dbverbindung); ?> [/code]

Du hast in dem Script überhaupt keine Variable namens $Array definiert.
Setze bitte

an den Anfang aller deiner Scripte - dann hat PHP auch die Möglichkeit, dich auf solche Fehler hinzuweisen.

Als nächstes informiere dich dann über das Stichwort register_globals=off - bspw. hier: peterkropff.de/tutorials/php … gister.htm

[quote]Setze bitte
Code:

<?php error_reporting(E_ALL); ?>

[/quote]

habe ich gemacht … passiert aber nichts?
was habe ich falsch gemacht?

hier die ausgabe:

[code]

Inhalte ausgeben <?php error_reporting(E_ALL); ?> <?php $host = "localhost"; $user = "xxxx"; $password = "xxxxxxx"; $dbname = "xxxx"; $tabelle ="xxxxx"; $dbverbindung = mysql_connect ($host, $user, $password); $dbanfrage = "SELECT * from $tabelle"; $result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung); while ($ausgabe = mysql_fetch_array ($result)) { print ("$ausgabe[header]

$ausgabe[artikel]


"); } mysql_close ($dbverbindung) ?> [/code]

Auch in dem Script, welches den Eintrag in die Datenbank machen soll …?

jetzt auch, danke!
aber was heißt das genau?

Notice: Undefined index: header in /users/germanparkguide/www/testdb/work.php on line 17

Notice: Undefined index: artikel in /users/germanparkguide/www/testdb/work.php on line 17
Datenbankeintrag erfolgreich.

Das heisst, dass es unter den Schlüsseln header und artikel keine Werte im Array gibt.

ok danke!
nun habe mir nun ne neue Ausgabe mit Hilfe eines Tutorials gebaut!

[code]

<?php try { $db = new MySQLi('localhost','xxx','xxx','xxx'); // DB wieder auswählen $sql = 'SELECT * FROM news'; // Tabelle auswählen per SELECT $kommando = $xxx->prepare($xxx); // die Abfrage auswählen $kommando->execute(); // Abfrage ausführen $kommando->bind_results($id, $Autor, $Titel, $Inhalt); // die Ergebnisse sozusagen binden und 4 Variablen angeben für 4 Felder
//Nun die Ausgabe mit einer While Schleife das sollte ja klar sein
while ($kommando->fetch()) {
 printf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
      $id, htmlspecialchars($Autor), htmlspecialchars($Titel), $Inhalt
    );
}
$db->close();
// Datenbankverbindung wieder schließen

} catch (Exception $e) {
echo 'Fehler: ’ . htmlsepcialchars($e->getMessage());
}
?>

# Name Titel Inhalt
[/code]

es kommt nur ein Fehler raus!
was muss ich ändern?

Link der Ausgabe: xxx

Und wo hast du $germanparkguide definiert?

Und wo hast du $germanparkguide definiert?

sorry hätte daran schon rumprobiert…
so sah es meiner Meinung nach im Original aus:

$kommando = $sql->prepare($sql);

Was ist nun falsch?

Das sagt dir die Meldung doch - "Call to a member function prepare() on a non-object"
Du versuchst, eine Methode auf etwas aufzurufen, das gar kein Objekt ist.

Ist dir klar, welche Objekte in diesem Zusammenhang eine prepare-Methode haben?
Hast du ein solches zuvor erstellt?

nee nicht wirklich, sorry bin Anfänger :slight_smile:

versuch mal

//edit:
damit dürfte es klappen, dennoch wäre es besser wenn du dich eingehender mit der materie auseinander setzt.

Na dann schnapp dir ein Tutorial, und beschäftige dich mit den Grundlagen.

sorry da sich noch mal nachfrage, aber ich habe jetzt schon 3 Tutorials ausprobiert und immer bekomme ich Fehler bei der Ausgabe. Eingabe funzt komplett!
Könnte mir jemand mal evtl zur Verdeutlichung eine komplette Ausgabe schreiben.
Evtl das die Daten in einer Tabelle ausgegeben werden.

Zugangsdaten:
Datenbank: germanparkguide
Tabellenname: Kunden
Spalten: Name und Telefonnummer

Danke, wernerc

Wenn du in diesem Tutorial:
tut.php-quake.net/de/mysql-php.html
Die den Quelltext von ganz unten anschaust und deine Zugangsdaten einsetzt kannst du nicht viel falsch machen

hab ich nun ausprobiert…und es kommt bei dem unten stehenden script so ein fehler:

Parse error: syntax error, unexpected ‘@’ in /users/germanparkguide/www/ausgabe1.php on line 2

habe dann das @ mal raus genommen, doch es funzt immer noch nicht!

<?php $db = @new mysqli('localhost', 'germanparkguide', xxxxxxxxx', 'germanparkguide'); if (mysqli_connect_errno()) { die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')'); } $sql = 'SELECT Name, Telefonnnummer FROM Kunden'; $result = $db->query($sql); if (!$result) { die ('Etwas stimmte mit dem Query nicht: '.$db->error); } echo 'Die Ergebnistabelle besitzt '.$result->num_rows." Datensätze<br />\n"; while ($row = $result->fetch_assoc()) { // NULL ist äquivalent zu false // $row ist nun das Array mit den Werten echo 'Die News "'.$row['Name'].'" wurde am "'.$row['Telefonnummer']."\" geschrieben<br />\n"; } $result->close(); unset($result); // und referenz zum objekt löschen, brauchen wir ja nicht mehr... ?>