PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Funktion mysql_query()



Latency
08.07.2004, 01:24
Kann es sein, das mysql_query die wichtigste und zugleich am schlechtesten Dokumentierte mysql-Funktion von PHP ist?

Denn abgesehen davon wie man Daten ausliest aus einer Tabelle hab ich kaum Dokus oder Tutorials, Beispiele whatever gesehen. Jedoch wird überall erwähnt, dass man noch Updaten kann, uvm.

Jedoch würde mich intressieren wie?

Besonders Update und Replace benötige ich derzeit.

Genaues Beispiel wäre Folgendes:

Tablename:[b] Tababala
-------------------------------------------
Felder in Tababal
[b]Nummer: 1 (Primary Key)
Wert: ASDF
WErt2: FDSA

Und wie schaffe ich es z.B. die Nummer des Datensatzes gleich zu lassen und dem Feld Wert den Wert "AAAA" zu geben?

Dingsi
08.07.2004, 02:03
mysql_query("UPDATE Tababala SET `Wert` = 'AAAA' WHERE `Nummer` = '$deine_nummer_whateva'");

das du keine docs zur syntax findet, liegt daran, dass das nichts mit php zu tun hat, denke ich.
du musst nach SQL suchen und nicht nach php. =/.

whoops. ' anstatt".

Latency
08.07.2004, 03:20
Original geschrieben von Dingsi

mysql_query("UPDATE Tababala SET `Wert` = 'AAAA' WHERE `Nummer` = '$deine_nummer_whateva'");

das du keine docs zur syntax findet, liegt daran, dass das nichts mit php zu tun hat, denke ich.
du musst nach SQL suchen und nicht nach php. =/ Mir wird der PHP Syntax immer blöder -_- Warum muss ich auf einmal `um meine Felder machen, kann mir das einer erklären?

Achja, warum weigert sich PHP, oder mySQL in ein Feld Namens Alter zu schreiben? Er wollte einfach ums verrecken keine Infos reinschreiben, bis ich das Feld Alter in Jahre umbenannt habe o_O

Jesus_666
08.07.2004, 03:43
Original geschrieben von Latency
Kann es sein, das mysql_query die wichtigste und zugleich am schlechtesten Dokumentierte mysql-Funktion von PHP ist?
imagefttext ist schlechter (und sogar falsch) dokumentiert.


Mir wird der PHP Syntax immer blöder -_- Warum muss ich auf einmal `um meine Felder machen, kann mir das einer erklären?
Das ist nicht PHP sondern SQL, eine komplett andere Sprache. Die SQL-Funktionen von PHP erlauben es, SQL-Abfragen in PHP einzubringen.

Achja, warum weigert sich PHP, oder mySQL in ein Feld Namens Alter zu schreiben? Er wollte einfach ums verrecken keine Infos reinschreiben, bis ich das Feld Alter in Jahre umbenannt habe o_O
"Alter" ist ein SQL-Schlüsselwort und funktioniert deshalb nicht als Name für ein Feld.

Dingsi
08.07.2004, 05:10
Original geschrieben von Latency
Mir wird der PHP Syntax immer blöder -_- Warum muss ich auf einmal `um meine Felder machen, kann mir das einer erklären?

Achja, warum weigert sich PHP, oder mySQL in ein Feld Namens Alter zu schreiben? Er wollte einfach ums verrecken keine Infos reinschreiben, bis ich das Feld Alter in Jahre umbenannt habe o_O
rofl... ROFL.
Genau DESWEGEN musst du `` um deine Feldnamen machen. :P

Latency
08.07.2004, 05:13
Original geschrieben von Dingsi
rofl... ROFL.
Genau DESWEGEN musst du `` um deine Feldnamen machen. :P

hö?

Wenn ich etwas in die DB eintragen wollte hab ich das immer so gemacht:
mysql_query("INSERT INTO Bla (Daba,Feldliste) VALUES ('$blak','$Variable')");

Und das lief eigentlich auch immer schön.

Dingsi
08.07.2004, 05:14
Ja, solange die Feldnamen keine SQL-Schlüsselwörter sind, aber ALTER ist eins. Und damit SQL das nicht interpretiert, müssen `` rum.

/me hat(te) genau das gleiche Problem mit desc/DESC/`desc`.

Latency
09.07.2004, 03:49
Juhu, nochmal ne Frage

mit mysql_query("... ORDER BY") kann man ja die Datensätze in geordneter reihenfolge ausgeben. Allerdings ist das Aufsteigend, dh. die Datensätze mit dem größten Wert sind ganz unten. Wie kann ich diesen Wert, ohne einen Umständlichen selbstgeschriebnen Algorythmus umdrehen? Und ist es möglich, dass wenn z.B.
mysql_query(".... ORDER BY Bla"); Und Bla in 2 Datensätzen den Selben Wert hat, so dass er dann z.B. das Feld Bla2 durchsucht und es so weiterordnet?

Dingsi
09.07.2004, 04:08
mysql_query(".... ORDER BY Bla DESC");
^_^.

Latency
09.07.2004, 04:12
Original geschrieben von Dingsi

mysql_query(".... ORDER BY Bla DESC");
^_^. Sind das jetzt 2 Felder, oder Feld 1 in umgekehrter Reihenfolge?

Jesus_666
09.07.2004, 04:16
Original geschrieben von Latency
Juhu, nochmal ne Frage

mit mysql_query("... ORDER BY") kann man ja die Datensätze in geordneter reihenfolge ausgeben. Allerdings ist das Aufsteigend, dh. die Datensätze mit dem größten Wert sind ganz unten. Wie kann ich diesen Wert, ohne einen Umständlichen selbstgeschriebnen Algorythmus umdrehen? Und ist es möglich, dass wenn z.B.
mysql_query(".... ORDER BY Bla"); Und Bla in 2 Datensätzen den Selben Wert hat, so dass er dann z.B. das Feld Bla2 durchsucht und es so weiterordnet?

ORDER BY <Feld> ASC = Es wird in aufsteigender Reihenfolge sortiert
ORDER BY <Feld> DESC = Es wird in absteigender Reihenfolge sortiert
ASC ist der Standard.

ORDER BY <Feld1>, <Feld2> = Es wird erst nach <Feld1> und dann nach <Feld2> sortiert, aufsteigend
Das kann man auch mit ASC und DESC kombinieren:
ORDER BY <Feld1> DESC, <Feld2> ASC = Es wird erst nach <Feld1> absteigend und dann nach <Feld2> austeigend sortiert


Ist SQL nicht praktisch?