keksprinz
Goto Top

Kann ich mit PHP in eine Access Datenbank Schreiebn ?

Kann ich mit PHP in eine Access Datenbank Schreiben ?

Ich hab einen ODBC Treiber bereits eingerichtet. Lesen ist auch kein Problem, jetzt würde ich gerene in meine Access Datenbank auch schreiben.

Bin am verzweifeln

Gruß

Keksprinz

Content-ID: 12858

Url: https://administrator.de/contentid/12858

Ausgedruckt am: 23.11.2024 um 04:11 Uhr

AdMac
AdMac 07.07.2005 um 15:15:53 Uhr
Goto Top
Hallo!

Wie versuchst Du es denn?

Mac
keksprinz
keksprinz 07.07.2005 um 18:30:19 Uhr
Goto Top
bisher gar nicht, ich weiss ja nicht ob das grundsätzlich möglich ist
Pedant
Pedant 07.07.2005 um 19:12:55 Uhr
Goto Top
Hallo keksprinz,

also Google meint das ginge:
http://www.php-resource.de/forum/showthread/t-45940.html
Eigene Erfahrungen habe ich in dieser Richtung keine.

Gruß Frank
keksprinz
keksprinz 08.07.2005 um 08:47:45 Uhr
Goto Top
Das ist aber auch nur ein Lesezugriff, der klappt ja auch, aber ich will ja

!!! schreiben !!!
keksprinz
keksprinz 08.07.2005 um 08:47:51 Uhr
Goto Top
Das ist aber auch nur ein Lesezugriff, der klappt ja auch, aber ich will ja

!!! schreiben !!!
keksprinz
keksprinz 08.07.2005 um 08:47:53 Uhr
Goto Top
Das ist aber auch nur ein Lesezugriff, der klappt ja auch, aber ich will ja

!!! schreiben !!!
AdMac
AdMac 08.07.2005 um 09:04:00 Uhr
Goto Top
Hallo!

Du kannst lesen, also ist die Verbindung zur Datenbank in Ordnung. Deshalb sollte auch ein Schreibzugriff grundsätzlich funktionieren.

Liegt das Problem jetzt daran, dass Du nicht weißt, wie man etwas mit PHP in die Datenbank schreibt oder ist deine Frage, ob ein Schreibzugriff grundsätzlich mit Access klappt?

Wenn Du es noch nicht versucht hast, ist mir etwas unklar, wo das Problem liegt.

Mac
keksprinz
keksprinz 09.07.2005 um 13:43:57 Uhr
Goto Top
Ich weiß nicht wie es geht, ich komm auch nicht drauf ob es überhaubt möglich ist, wenn einer es mal getest hat und mir ein code schnipsel gibt bin ich glücklich.
AdMac
AdMac 10.07.2005 um 10:08:48 Uhr
Goto Top
Hallo!

Irgendwie schaffst Du es, meinen Fragen geschickt auszuweichen.... Naja, ich versuche es mal weiter.

Es sieht eher nach einem SQL-Problem aus, da Du anscheinend Daten auslesen kannst, aber nicht weißt, wie man Daten in die Datenbank schreibt.

Schick mal deinen Code für den Verbindungsaufbau zur Datenbank und zum Auslesen von Daten. Ich schätze mal, das tust Du mit einem Select-Befehl.

In SQL werden Daten mit folgenden Befehlen in eine DB geschrieben (habe einige Parameter/Optionen weggelassen!!!):

UPDATE tabelle
SET spalten_name1=ausdruck1, [spalten_name2=ausdruck2, ...]
[WHERE where_definition]
INSERT [INTO] tabelle [(spalten_name,...)]
VALUES (ausdruck,...),(...),...

Schaue dazu mal in die Hilfe von Access. Du könntest auch mit Access eine Abfrage erstellen und Dir dann die SQL-Syntax ansehen! Aber meine Accesszeit ist schon etwas her, deshalb kann ich Dir da nicht besser helfen.

Tschau
Mac
keksprinz
keksprinz 12.07.2005 um 13:32:56 Uhr
Goto Top
Hallo,
erstmal vielen Dank
also hier mal ein bisschen Code zum Verständniss

Aufbau zur Datenbank
<?
$odbc = odbc_connect ('pdm', 'root', '') or die( "Could Not Connect to ODBC Database!" );
?>

Datenbankabfrage (ein bisschen gekürzt)

$query3 = odbc_exec($odbc, "SELECT a.pat, c.per FROM x1100pat ") or die (odbc_errormsg());
while($row = odbc_fetch_array($query3)) //Aufenthalt
{
echo "Ausgabe".$row['pat'].", bis ".$row['per']."";


}

So und nun will ich wissen was ich tun muss um in eine Acces Datenbank zu schreiben

Vielen Dank im Vorraus
AdMac
AdMac 12.07.2005 um 16:48:25 Uhr
Goto Top
Hallo!

Hier das Beispiel um etwas in die DB zu schreiben (ich nehme jetzt nur die entscheidende Zeile):

$query3 = odbc_exec($odbc, "UPDATE x1100pat SET c.per=5 WHERE a.pat=100 ") or die (odbc_errormsg());

Mit dieser Zeile wird der Wert der Zelle c.per in Tabelle x1100pat auf 5 gesetzt und zwar in der Zeile in der a.pat den Wert 100 hat. Dieser SQL-Befehl dienst also dem ÄNDERN der Daten.

Um neue Daten hinzuzufügen bitte wie folgt vorgehen:

$query3 = odbc_exec($odbc, "INSERT INTO x1100pat (a.pat,c.per) VALUES (9,101)") or die (odbc_errormsg());

Damit fügt man einen neuen Datensatz in Tabelle x1100pat in dem die Zelle a.pat den Wert 9 erhält und c.per den Wert 101.

Wie Du siehst, kommt es nur auf den SQL-Befehl an, alles andere bleibt gleich.

Das sollte alles sein! Teile mal mit, ob es geklappt hat! Ich hoffe, ich habe das jetzt auf die Schnelle alles richtig hinbekommen! Aber ich denke, ich habe Dich auf den richtigen Weg gebracht.

Mac
keksprinz
keksprinz 13.07.2005 um 12:15:45 Uhr
Goto Top
Ja wundabar, vielen vielen Dank;

Ich hab mich total verwirren lassen, jetzt ist alles klar und Logisch face-smile

MFG

Keksprinz