Also ich versuche ein einfaches Newsscript zu schreiben, aber es gelingt mir nicht so wie es soll. Bis jetzt habe ich immer nur irgendwelche Script abgeschrieben, dieses habe ich nun koplett ohne Buch oder sonstige Hilfsmittel geschrieben.
Die Datenbank heißt vam und die Tabelle sieht so aus:
CREATE TABLE news (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Schreiber VARCHAR(35),
Titel VARCHAR(80),
Datum VARCHAR(30),
Eintrag TEXT
)
Vorweg die Datei zugriff.inc.php sieht so aus
und die Datei admin.inc.php so
nun die index.php datei
nun die News werden ausgegeben, aber wenn ich über ...index.php?mays=abc reingehe und dann irgend einen Eintrag löschen will passiert nichts, eigendlich sollte noch dabei kommen, so was wo man halt News reinschreiben kann, aber erst mahl soll das andere gehen.
Ich weiß nicht ob es jetzt nur irgendwein dummer fehler ist oder ob ich irgendwie unlogisch denke.
Ich bin jetzt kien echte Profi ich bin nur ein anfänger aber meineswissen muss du da
" . $row['Titel'] . "
...
warum das den es wird doch nichts verschachtelt. Es ist da egal ob ich ' oder " setze.
Zitat
schreib mal if (@mysql_query($sql1)) {
...
das @ benutzt man doch um einen Fehler oder so was zu unterdrücken oder?, also warum soll man das dann da setzten? Habe es mahl gemacht es ändert sich nichts, es wird nichts gelöcht.
[OT]
@dadie
Doppelte Anführungszeichen (") und einfache (') gleichen sich bis auf eine einzige Ausnahme: Bei doppelten werden Variablen und escapte Zeichen ersetzt, bei einfachen nicht!
Und das @-Zeichen dient AFAIK nur dazu, Fehlerausgaben bei einer Funktion zu unterbinden, oder? Demnach würde das nichts ändern!
[/OT]
@Topic: Werd mir den Code später durchlesen, hab jetzt nicht sehr viel Zeit!
Ersetze in deinen SQL_Strings news mal durch `news`, das Problem hatte ich auch, als ich mit MySQL angefangen habe.
[ot]
Ja, das @-Zeichen unterdrückt Fehlermeldungen. Kann man z.B. gebrauchen, wenn man bei einer fehlgeschlagenen Verbindung zum MySQL-Server nicht die Fehlermeldung, sondern stattdessen sowas wie "Der DB-Server ist momentan leider down." anzeigen will.
[/ot]
[OT]
Hm, ich hab hier mal ne Datei, die zwar nicht ganz so funktioniert, wie erwartet, aber trotzdem: Skript Source
Hierbei ist mir aufgefallen, dass man keine numerischen Schlüssel für ein Array setzen kann, weil PHP keinen Unterschied zwischen "0", '0' oder 0 macht
[/OT]
Versichs mal so. AFAIK werden in doppelten Anführungszeichen zwar Variablen wie $key ersetzt, nicht jedoch Arrays, weil PHP nicht genau erkennen kann, ob es die ersetzten soll, oder nicht.
Es könnte zum Beispiel daran liegen, das du deine zweite Query in $aql abgelegt hast
Oder daran, dass irgendwie dieses DELETE von dead_orc nicht verbessert wurde (ich glaube das wurde schonmal gesagt...)
AFAIK werden in doppelten Anführungszeichen zwar Variablen wie $key ersetzt, nicht jedoch Arrays, weil PHP nicht genau erkennen kann, ob es die ersetzten soll, oder nicht.
...
Soll heißen, dass du Arrays extra aufführen musst. Also statt echo "Ich heiße $ich[name]"; schreiben echo "Ich heiße ".$ich['name'];