Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Insert into... in Access mit ODBC [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Insert into... in Access mit ODBC


 
pat17
24-01-2003, 21:29 
 
Hallo!
Bin neu in PHP und hab auch schon ein Problem! Habe eine Access-Datenbank über ODBC welche ich via Webformular verwalten möchte. Das updaten und löschen funktioniert einwandfrei. Leider kann ich aber nichts in die DB schreiben!!
Dies ist mein Code. Bringt keine Fehlermeldung, schreibt aber auch nichts rein!
<?
$conn_id = odbc_pconnect("db", "user", "pw");
?>
<?
{
$status = odbc_exec($conn_id, "insert into kleider (groesse, artikel, farbe, preis) values('$groesse', '$artikel', '$farbe', '$preis')");
if(! $status ){
echo "<p>Hallo, die Datenbankapplikation hat einen Fehler verursacht, bitte melden Sie folgendes an webmaster\n";
echo "<br>".odbc_errormsg().": ".odbc_error();
} else {
echo "<p><center>Der Eintrag wurde erfolgreich in die Datenbank gespeichert!\n"; ?> <br> </center>
<?
}
}
?>
Was ist hier falsch? :confused:

Die Felder haben folgende Formatierung:
idkleid = autowert
groesse, artikel, farbe und preis = text

Kann mir jemand helfen?
Danke schon im Voraus

 
Abraxax
26-01-2003, 01:09 
 
mach mal hinter values ein leerzeichen rein.
(ohne garantie)

 
pat17
26-01-2003, 21:05 
 
Original geschrieben von Abraxax
mach mal hinter values ein leerzeichen rein.
(ohne garantie)
Hallo,

habe diesen Rat befolgt, hat aber nichts bewirkt!! Gibt immer noch keine Fehlermeldung, schreibt aber auch nichts rein!

Was nun??

 
Abraxax
26-01-2003, 21:10 
 
ok. test zwei

ändere bitte diese beiden zeilen entsprechend ab, bzw. nimm die direkt von mir hier raus


// zeile 1
$status = odbc_exec($conn_id, "insert into kleider (groesse, artikel, farbe, preis) values ('".$groesse."', '".$artikel."', '".$farbe."', '".$preis."')");

// zeile 2
if(!$status) {

 
pat17
26-01-2003, 21:32 
 
Dieser Test hat leider auch nichts gebracht!!

Bin bald am verzweifeln :dontknow:

 
Abraxax
26-01-2003, 21:35 
 
mhm. dann sehe ich im moment auch keine lösung für dein problem ... :(

sorry.

ich hoffe aber, dass noch jemand kommen wird, und die antwort kennen könnte.... :)

 
oms
27-01-2003, 08:43 
 
Ich hab zwar mit ODBC noch nicht auf einen MS Access DB zugegriffen, aber probier mal am Ende des Skriptes ein odbc_commit (http://www.php.net/manual/en/function.odbc-commit.php). Damit werden angeblich erst alle Transaktion ausgeführt.

Vielleicht klappt´s damit.

Gruß oms

 
pat17
27-01-2003, 21:09 
 
Leider hat auch das odbc_commit nichts daran geändert. Ich krieg einfach keine Daten in die DB. Übergeben würde er alles, aber einfach nicht bis in die DB.

Gruss

 
pat17
28-01-2003, 22:24 
 
Hallo

So, habe die Lösung nun selber rausgefunden!!

Musste die Values-Werte wie folgt schreiben:
.... values (('".$groesse."', '".$artikel."', '".$farbe."', '".$preis."');");

Die Lösung von Abraxax war eigentlich gut, jedoch fehlte hinter der ersten Klammer noch ein zusätzliches ; !!

Möchte mich aber noch recht herzlich für die Hilfe bedanken!! :)

Gruss

 
Abraxax
28-01-2003, 23:01 
 
ja. normalerweise gehört hinter jeden SQL-anweisung das semikolon. unter php und mysql braucht man das aber nicht....

konnte ja nicht ahnen das man das bei odbc braucht ... :D

wie einfach und doch so kompliziert manche lösungen sind ... :)

freut mich aber für dich, dass es jetzt klappt....


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:08 Uhr.