Datensätze in DB senden

Hallo zusammen,

ich beschäftige mich seit ein paar Tagen mit PostgreSQL und der Thematik Datenbanken generell.
Ich habe mir über PHP ein Formular erstellt und möchte gerne die Daten direkt in meine DB übermitteln. Mit dem insert into Befehl kann ich direkt im DB Monitor von phppgAdmin Daten in meine Tabelle einlesen. Aber wie kann ich es in mein Script einbauen. Es ist sicherlich sehr einfach, dennoch habe ich nichts gefunden was mich weiterbrachte.
Danke für Eure Hilfe.

Das ist sogar noch einfacher als nur sehr einfach.

Let me google that for you

Andreas

Danke für deinen Google Tipp. Diese Seite kannte ich schon und schlage mich seit einigen Tagen herum. Dennoch bekomme ich es nicht hin.

Ich hole mal etwas aus, vielleicht kann mir jemand auf die Sprünge helfen. So ich habe ein Formular erstellt, in diesem Formlar ist eine Schleife eingebaut, das mir aus einem Fragenpool Fragen anzeigt und Radiobuttons in einer zweiten Spalte erstellt. Die Bezeichnungen für die Radiobutton werden auch über die DB angezeigt “answer_caption”

$query = “SELECT * FROM question”;
$arr = explode(",", $row[‘answer_caption’]);
$result = pg_query($query);
if (!$result) {
echo "Fehler mit query " . $query . "
";
echo pg_last_error();
exit;

Damit die Informationen der Radiobutton in die DB gelangen habe ich folgenden Code verwendet:

$insert = pg_insert($db, ‘answer_caption’);
if ($insert) {
echo “Der Inhalt wurde protokolliert\n”;
} else {
echo “falsche oder fehlenden Eingabedaten gesendet\n”;
}

Sobald ich auf senden gehe, erscheint eine Meldung, dass ich mindestens 3 Werte benötige. Lt. der Hilfe wäre der dritte Wert ein Array. Aber ich habe nur den DB-Namen und die Spalte für die Auswertung der Radiobuttons.

Da zu einer jeden Frage eine ID gehört, habe ich als 3 Wert die Spalte die die ID mit angegeben. --> Problem besteht noch immer.

Hi,

hier scheiterts wohl eher an PHP als an Postgres. Von daher würde ich dir fast ein PHP Forum nahe legen.
Noch als kleinen Tip:
Poste den ganzen Code, nicht nur Schnipsel davon, aktiviere das error_reporting von PHP, und poste dort den Fehlerhinweis;

dass ich mindestens 3 Werte benötige

ist nämlich kein Fehler den ich aus Postgres oder PHP kenne :wink:

Gruss Toni

Nicht nötig.

$insert = pg_insert($db, ‘answer_caption’);

Sobald ich auf senden gehe, erscheint eine Meldung, dass ich mindestens 3 Werte benötige. Lt. der Hilfe wäre der dritte Wert ein Array. Aber ich habe nur den DB-Namen und die Spalte für die Auswertung der Radiobuttons.

Schauen wir doch mal, wie pg_insert() funktioniert:

pg_insert  ( resource $connection  , string $table_name  , array $assoc_array  [, int $options = PGSQL_DML_EXEC  ] )

Ich unterstelle mal, Du kannst bis 3 zählen. Zähle also, was Du übergibst und was erwartet wird.


Da zu einer jeden Frage eine ID gehört, habe ich als 3 Wert die Spalte die die ID mit angegeben. --> Problem besteht noch immer.

Ach so. Du irrst Dich aber, wenn Du vermutest, etwas sinnvolles probiert zu haben.

Als 3. Parameter wird erwartet:

An array whose keys are field names in the table table_name , and whose values are the values of those fields that are to be inserted.

Merke: es reicht nicht aus, lediglich einen Link zu einer Doku zu kennen. Man muß diese lesen!



Andreas