You are not logged in.

wcf.regNote.message

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

1

Saturday, August 25th 2007, 10:36am

Beim Daten in eine DB schreiben schon einen Rückgabewert holen?

Ich habe eine Funktion die verschiedene Daten in eine Tabelle schreibt. In der Tabelle gibt es ein Feld als PrimKey welches auto_increment ist. Sobald die Daten in die DB geschrieben wurden brauche in innerhalb der Funktion sofort den Inhalt aus diesem Feld um die Daten weiter zu verarbeiten. Ist die einzige Möglichkeit den grade in die DB geschriebenen Datensatz aufzurufen und das Feld auszulesen oder gibt es irgendwie eine Variable oder irgendwas wo der grade in die DB geschriebene Datensatz vollständig drin steht oder irgendwas?
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

ShaoKhan

www.Spiegelwelt.com

Posts: 393

Location: 127.0.0.1

Occupation: EDV Dienstleister

  • Send private message

2

Monday, August 27th 2007, 2:18pm

Mach doch das ganze per AJAX.
ich schreib derzeit auch in eine DB und lass mir zeitgleich die Daten ausgeben.
Leben heisst - Narben tragen.

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

3

Monday, August 27th 2007, 5:51pm

Mit Ajax ist schon ne Idee nur ich hab mich bis jetzt lediglich schlau gemacht wie man mit Ajax was macht aber kein Stück über das Thema Sicherheit. Da das Webprojekt komplett selbst gebaut ist möchte ich das es keine Möglichkeit gibt das zu knacken. Wenn ich jemand die PHP Dateien zeigen würde der würde mich für irre halten so viel prüfungen und so hab ich da drin.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

badmoon2049

Intermediate

Posts: 188

Location: Leipzig

Occupation: Azubi

  • Send private message

4

Tuesday, August 28th 2007, 10:56am

das meinst du doch mysql_insert_id();

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

5

Wednesday, August 29th 2007, 11:21am

Ne ich hab in der Datenbank ein Feld welches automatisch gefüllt wird also sprich auto_increment und wenn ich einen Datensatz in die DB schreibe wollte ich gerne den Inhalt dieses Feldes bekommen. Ich hab das (vorerst) so gelöst das ich einfach nach dem INSERT nun den einen Wert aus der DB lese und fertig. Hatte keine Lust mehr mich damit aufzuhalten. Sofern es aus Gründen der Serverlast mal nötig sein werd ich mal schaun ob ich mir hier ein Query sparen kann irgendwie.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

badmoon2049

Intermediate

Posts: 188

Location: Leipzig

Occupation: Azubi

  • Send private message

6

Wednesday, August 29th 2007, 3:45pm

aber mit der funktion hohlst du dir genau den wert ?!?

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

7

Wednesday, August 29th 2007, 5:22pm

Jep eigentlich korrekt. Ich werd das mal testen ob das bei mir das richtige Ergebnis liefert.

EDIT:
Ich habs jetzt mal getestet und das liefert mir die ID des zuletzt eingefügten Datensatzes. Das heißt ich bekomme nicht den Inhalt des Feldes mit der Userid sondern die Datensatz ID vom MySQL. Das ist somit für mich leider nicht zu gebrauchen. Ich hab allerdings eine Lösung gefunden und das klappt auch soweit bestens. Die Registrierung inkl. Freischaltung funktioniert nun genau so wie ich das haben wollte und es gibt auch kein einziges Sicherheitsrisiko da ich restlos alle Inhalte überprüfe und zum einen Dinge wie injections sofort verhindere und zusätzlich excape ich noch jeden Eintrag.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

turrax

Beginner

Posts: 3

Location: Ufr

Occupation: Selbstständig

  • Send private message

8

Tuesday, October 23rd 2007, 10:48pm

bin ma kurz überflogen , aber verstehe frage nicht was du für einen wert holen willst den letzten wo du hinzugefügt hast ?


Es wäre vll auch mal angebracht einen Quellcode zu Posten.. aber bei Sql where userid ='1' <-sollte dein problem lösen






Quoted

Die Registrierung inkl. Freischaltung funktioniert nun genau so wie ich das haben wollte und es gibt auch kein einziges Sicherheitsrisiko da ich restlos alle Inhalte überprüfe und zum einen Dinge wie injections sofort verhindere und zusätzlich excape ich noch jeden Eintrag.


Würd ich mal nicht behaupten das das sicher ist !:) wie siehts mit deinen Spalten aus!? im Mysql_query? sind die unbennant oder doch leiber die methode mit den * ?
::Wer die Qual hat, hat die Wahl::

This post has been edited 2 times, last edit by "turrax" (Oct 23rd 2007, 10:55pm)


ruepel1969

Beginner

Posts: 5

Location: Berlin

Occupation: Dachdecker, Verkäufer, Computerservice (Selbständig)

  • Send private message

9

Tuesday, November 20th 2007, 1:38am

RE: Beim Daten in eine DB schreiben schon einen Rückgabewert holen?

Quoted

Original von Prometheus
Ich habe eine Funktion die verschiedene Daten in eine Tabelle schreibt. In der Tabelle gibt es ein Feld als PrimKey welches auto_increment ist. Sobald die Daten in die DB geschrieben wurden brauche in innerhalb der Funktion sofort den Inhalt aus diesem Feld um die Daten weiter zu verarbeiten. Ist die einzige Möglichkeit den grade in die DB geschriebenen Datensatz aufzurufen und das Feld auszulesen oder gibt es irgendwie eine Variable oder irgendwas wo der grade in die DB geschriebene Datensatz vollständig drin steht oder irgendwas?


Source code

1
2
$sqlbefehl= "ALTER TABLE $user CHANGE PRIMARY KEY (id) ....";
$ergebnis  = mysql_query($sqlbefehl, $serverid);


ich glaube das so der gerade eingetragene wert wieder zurückgegeben wird.
>>> $sqlbefehl= "ALTER TABLE $user CHANGE PRIMARY KEY (id) ...."; muss in deinem script irgendwo stehen und eventuell angepasst werden und >>> $ergebnis = mysql_query($sqlbefehl, $serverid); sollte gleich danach stehen und dir dann das ergebnis liefern.

wcf.user.socialbookmarks.titel