INSERT-PHP
Dave
- php
0 wucher wichtel0 Tom0 Der Martin
0 Tom
halle zusammen.
Möchte mit php etwas in ne Datenbank schreiben, aber bin kläglich gescheitert.
datenbank
name text
und nachricht text
Das der php-Code:
$db = mysql_connect("localhost", "root", "root");
$sqlab = "insert into gaestebuch (name, nachricht) values('$nam', '$text')";
mysql_db_query("gaestebuch", $sqlab);
mysql_close($db);
..... das blöde ist, der fügt mir immer nur leere Datensätze ein.
Hallo!
..... das blöde ist, der fügt mir immer nur leere Datensätze ein.
Hast du dir schonmal die Werte von $nam und $text angeschaut?
ciao, ww
Hello,
Möchte mit php etwas in ne Datenbank schreiben, aber bin kläglich gescheitert.
datenbankname text
und nachricht textDas der php-Code:
$db = mysql_connect("localhost", "root", "root");
Besteht denn eine Datenbankserver-Verbindung?
Was steht in $db (falscher Name für die Variable!) und was liefert die Funktion mysql_error()?
$sqlab = "insert into gaestebuch (name, nachricht) values('$nam', '$text')";
mysql_db_query("gaestebuch", $sqlab);
Diese Funktion ist überholt und sollte nicht mehr benutzt werden.
Anstelle:
$datenbank = mysql_select_db('datenbankname', $connection);
und für das Query
$res = mysql_query($query, $connection);
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hallo,
$db = mysql_connect("localhost", "root", "root");
Was steht in $db (falscher Name für die Variable!)
was findest du an diesem Namen falsch? Es ist ein Handle für die Verbindung zur Datenbank, da finde ich $db als Kürzel vortrefflich gewählt.
So long,
Martin
Hello,
$db = mysql_connect("localhost", "root", "root");
Was steht in $db (falscher Name für die Variable!)was findest du an diesem Namen falsch? Es ist ein Handle für die Verbindung zur Datenbank, da finde ich $db als Kürzel vortrefflich gewählt.
Nein, es ist ein Handle für die Verbindung zum Datenbank-Server!
Das Handle auf die Datenbenk beschafft man sich mit mysql_select_db().
Natürlich würde es auch deer Variable
$droelfH01_AB022_self
funktionieren. Aber ist das sinnvoll? Namen sollten immer auch eine klare Aussage machen.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hi,
$db = mysql_connect("localhost", "root", "root");
(falscher Name für die Variable!)
was findest du an diesem Namen falsch? Es ist ein Handle für die Verbindung zur Datenbank, da finde ich $db als Kürzel vortrefflich gewählt.
Nein, es ist ein Handle für die Verbindung zum Datenbank-Server!
normalerweise betrachte ich "die Datenbank" und "der Datenbankserver" als synonyme Begriffe, ebenso wie manche Leute "der Drucker" sagen, aber eigentlich "den Printserver" meinen.
Das Handle auf die Datenbenk beschafft man sich mit mysql_select_db().
Oha. Das ist für mich ein neuer Aspekt (ist aber kein Wunder, da ich mich mit Datenbank-Geschichten noch nie näher befasst habe). Ich dachte immer, mit der Verbindung zur Datenbank (sorry, zum Datenbankserver) sei alles klar, und danach ginge es nur noch um die Auswahl einer Tabelle innerhalb der Datenbank. Ergibt diese zusätzliche Selektionsstufe Sinn, wo doch durch den Benutzernamen beim Herstellen der DB-Verbindung schon eine Zuordnung getroffen werden könnte?
Namen sollten immer auch eine klare Aussage machen.
Unbedingt, ja. Aber sie sollten es auch nicht genauer oder komplizierter als nötig machen.
Schönen Abend noch,
Martin
Hallo
normalerweise betrachte ich "die Datenbank" und "der Datenbankserver" als synonyme Begriffe, ebenso wie manche Leute "der Drucker" sagen, aber eigentlich "den Printserver" meinen.
Ein Printserver bedient oftmals mehrere physische Drucker.
Ein Datenbankmanagementsystem verwaltet fast immer mehrere (oft sogar sehr viele) Datenbanken.
Das Handle auf die Datenbenk beschafft man sich mit mysql_select_db().
Oha. Das ist für mich ein neuer Aspekt (ist aber kein Wunder, da ich mich mit Datenbank-Geschichten noch nie näher befasst habe). Ich dachte immer, mit der Verbindung zur Datenbank (sorry, zum Datenbankserver) sei alles klar, und danach ginge es nur noch um die Auswahl einer Tabelle innerhalb der Datenbank.
Nein, natürlich nicht. Die Verbindung zum Datenbankmanagementsystem wurde hergestellt. Nicht mehr und nicht weniger.
Ergibt diese zusätzliche Selektionsstufe Sinn, wo doch durch den Benutzernamen beim Herstellen der DB-Verbindung schon eine Zuordnung getroffen werden könnte?
Selbstverständlich ist diese Selektionsstufe sinnvoll, notwendig und erforderlich. Aus einem Benutzernamen kann vielleicht in bestimmten Fällen auf die gewünschte Datenbank geschlossen werden. Genauer: in solchen Fällen, da ein Benutzer genau auf eine einzige Datenbank zugreifen darf. Das ist alles andere als der Normalfall, das gibts zwar bei diversen Hostern - aber heute hast Du meistens selbst bei günstigen Angeboten mit Datenbankzugriff bereits mehr als eine Datenbank dabei.
Unbedingt, ja. Aber sie sollten es auch nicht genauer oder komplizierter als nötig machen.
Dann solltest Du wieder etwas gelernt haben :-)
Freundliche Grüße
Vinzenz