php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 08-11-2013, 07:30
Gobo2002
 Registrierter Benutzer
Links : Onlinestatus : Gobo2002 ist offline
Registriert seit: Nov 2013
Beiträge: 17
Gobo2002 befindet sich auf einem aufstrebenden Ast
Standard Datensatz löschen. PER link

Hi, ich bin neuling und habe folgendes Problem:

Ich möchte einen bestimmten Datensatz anhand des Datums löschen. Jeder Datensatz erhält das aktuelle Datum und Uhrzeit wenn er in die Datenbank geschrieben wird. Mir wird aber jedesmal beim Delete der Name der Tabelle als unexpected String gemeldet. Vermutlich bin ich einfach zu blöd. Hier mal der Code:

PHP-Code:
$verbindung mysql_connect('meinedatenbank...');
mysql_select_db('datenbankname'$verbindung);

mysql_query("DELETE FROM tabelle WHERE 'eindatum' = $_GET[$eindatum]"); 
Wie Ihr seht rufe ich die loeschen.php von einer anderen Seite auf und übergebe das Datum. (Steht auch in der Übergabe). Jetzt bekomme ich immer:

syntax error, unexpected 'wishbox' (T_STRING) in ..\htdocs\erstertest\loeschen.php on line 9

Ich habe mit und ohne Anführungszeichen versucht. Wie gesagt Neuling und Holzkopf... Kann jemand bitte in die richtige Richtung schubsen. Und: Nein, die Dokumentationen im Netz helfen mir irgendwie nicht. Demnach müsste doch die Syntax richtig sein... Verstehs nicht...
Mit Zitat antworten
  #2 (permalink)  
Alt 08-11-2013, 07:54
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gobo2002 Beitrag anzeigen
syntax error, unexpected 'wishbox' (T_STRING) in ..\htdocs\erstertest\loeschen.php on line 9
Das ist ein PHP-Fehler, und 'wishbox' kommt im Code gar nicht vor.

(Außerdem sollte man zum Löschen nicht GET verwenden, sondern POST.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 08-11-2013, 08:09
Gobo2002
 Registrierter Benutzer
Links : Onlinestatus : Gobo2002 ist offline
Registriert seit: Nov 2013
Beiträge: 17
Gobo2002 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
Das ist ein PHP-Fehler, und 'wishbox' kommt im Code gar nicht vor.

(Außerdem sollte man zum Löschen nicht GET verwenden, sondern POST.)
Ja, im Beispieltext habe ich wishbox durch tabelle ersetzt. wishbox ist der Name der Tabelle.
Mit Zitat antworten
  #4 (permalink)  
Alt 08-11-2013, 09:21
Guenni61
 Registrierter Benutzer
Links : Onlinestatus : Guenni61 ist offline
Registriert seit: Nov 2011
Ort: Viersen
Beiträge: 128
Guenni61 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gobo2002 Beitrag anzeigen
. . .
PHP-Code:
$verbindung mysql_connect('meinedatenbank...');
mysql_select_db('datenbankname'$verbindung);
 
mysql_query("DELETE FROM tabelle WHERE 'eindatum' = $_GET[$eindatum]"); 
Wie Ihr seht rufe ich die loeschen.php von einer anderen Seite auf und übergebe das Datum. (Steht auch in der Übergabe). Jetzt bekomme ich immer:
syntax error, unexpected 'wishbox' (T_STRING) in ..\htdocs\erstertest\loeschen.php on line 9
. . .
Hi Gobo,

Spaltennamen gehören nicht in Anführungszeichen.

Dem eindatum im $_GET-Array darf kein Dollarzeichen vorangestellt werden, sondern wird in Anführungszeichen eingeschlossen.

PHP-Code:
mysql_query("delete from tabelle where eindatum=".$_GET['eindatum']); 
Gruß
Günni
Mit Zitat antworten
  #5 (permalink)  
Alt 08-11-2013, 09:55
Gobo2002
 Registrierter Benutzer
Links : Onlinestatus : Gobo2002 ist offline
Registriert seit: Nov 2013
Beiträge: 17
Gobo2002 befindet sich auf einem aufstrebenden Ast
Standard

Hmmm.... Aus irgendeinem Grund zeigt er mir ein anderes Datum... Ok, hab also eine andere Spalte genommen. Werte passen jetzt über ein, und Danke Günni, nach Deinem Hinweis sind nun die Fehlermeldungen weg... Aber: Die Daten werden dennoch nicht gelöscht...

Mit Zitat antworten
  #6 (permalink)  
Alt 08-11-2013, 10:21
Gobo2002
 Registrierter Benutzer
Links : Onlinestatus : Gobo2002 ist offline
Registriert seit: Nov 2013
Beiträge: 17
Gobo2002 befindet sich auf einem aufstrebenden Ast
Unhappy

Verstehe es nicht. Code sieht jetzt so aus:

PHP-Code:
$verbindung mysql_connect('....''.....''....');
mysql_select_db('....'$verbindung);



mysql_query("DELETE FROM wishbox WHERE eindatum = ".$_GET['eindatum']." LIMIT 1") or die ("mysql-error: ".mysql_error()); 
Bekomme jetzt auch ohne 'die' keine Fehlermeldung mehr, aber der Datensatz wird auch nicht gelöscht. Feld, Inhalt, passt alles. In der Datenbank steht: 2013-11-08 09:59:35 in der Datumspalte. Dieser Wert wird auch korrekt an den Löschbefehl mittels $_GET übergeben.... Warum löscht der den Datensatz nicht???
Mit Zitat antworten
  #7 (permalink)  
Alt 08-11-2013, 10:36
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gobo2002 Beitrag anzeigen
Bekomme jetzt auch ohne 'die' keine Fehlermeldung mehr
Soll heissen, du hast die Ausgabe eines eventuellen Fehlers einfach entfernt – „aus den Augen, aus dem Sinn” …?

Zitat:
Warum löscht der den Datensatz nicht???
Weil deine Query syntaktisch fehlerhaft ist.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 08-11-2013, 10:37
Gobo2002
 Registrierter Benutzer
Links : Onlinestatus : Gobo2002 ist offline
Registriert seit: Nov 2013
Beiträge: 17
Gobo2002 befindet sich auf einem aufstrebenden Ast
Standard

Habe den Fehler niche infach entfernt, er wird nicht mehr ausgegeben. Was ist denn da falsch, kannst Du mir das auch verraten?
Mit Zitat antworten
  #9 (permalink)  
Alt 08-11-2013, 10:45
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

MySQL :: MySQL 5.5 Reference Manual :: 9.1.3 Date and Time Literals
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #10 (permalink)  
Alt 08-11-2013, 11:00
Gobo2002
 Registrierter Benutzer
Links : Onlinestatus : Gobo2002 ist offline
Registriert seit: Nov 2013
Beiträge: 17
Gobo2002 befindet sich auf einem aufstrebenden Ast
Standard

Sorry, verstehe ich nicht. Das Datum wird doch im ricchtigen Format übergeben...
Mit Zitat antworten
  #11 (permalink)  
Alt 08-11-2013, 12:34
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Zitat von Gobo2002 Beitrag anzeigen
Sorry, verstehe ich nicht. Das Datum wird doch im ricchtigen Format übergeben...
Lass dir mal das Statement anzeigen.
Lasse dir die MySQL Fehlermeldung zeigen
__________________
Wir werden alle sterben
Mit Zitat antworten
  #12 (permalink)  
Alt 08-11-2013, 16:02
Guenni61
 Registrierter Benutzer
Links : Onlinestatus : Guenni61 ist offline
Registriert seit: Nov 2011
Ort: Viersen
Beiträge: 128
Guenni61 befindet sich auf einem aufstrebenden Ast
Standard

Hi Gobo,

hast du keine eindeutige ID/Datensatz in deiner Tabelle? Das wäre weitaus einfacher, als sich mit Datums-/Zeitformaten "rumzuquälen".

Link zum Löschen:
PHP-Code:
<a href="script.php?id=2">08.11.2013</a
PHP-Code:
mysql_query("DELETE FROM wishbox WHERE id = ".$_GET['id']); 
Gruß
Günni
Mit Zitat antworten
  #13 (permalink)  
Alt 08-11-2013, 17:14
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Ehmm... Löschen per Link ist Blödsinn. Warum wird das hier überhaupt diskutiert?

Mal davon abgesehen, dass du eine wunderbare Sicherheitslücke baust, weil du komplett auf das SQL-Escaping vergisst.
Mit Zitat antworten
  #14 (permalink)  
Alt 08-11-2013, 18:19
Gobo2002
 Registrierter Benutzer
Links : Onlinestatus : Gobo2002 ist offline
Registriert seit: Nov 2013
Beiträge: 17
Gobo2002 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Ehmm... Löschen per Link ist Blödsinn. Warum wird das hier überhaupt diskutiert?

Mal davon abgesehen, dass du eine wunderbare Sicherheitslücke baust, weil du komplett auf das SQL-Escaping vergisst.
Das sind Datensätze die nur kurz stehen bleiben. Ganz ehrlich? Sch... auf die Sicherheitslücke. Ist eh nix besinderess drin, Das löschen per Link ist einfacher weil andere das ebenso können sollen.

Danke Günni. Lege ne ID an..
Mit Zitat antworten
  #15 (permalink)  
Alt 08-11-2013, 18:38
Guenni61
 Registrierter Benutzer
Links : Onlinestatus : Guenni61 ist offline
Registriert seit: Nov 2011
Ort: Viersen
Beiträge: 128
Guenni61 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
Ehmm... Löschen per Link ist Blödsinn. Warum wird das hier überhaupt diskutiert?
Mal davon abgesehen, dass du eine wunderbare Sicherheitslücke baust, weil du komplett auf das SQL-Escaping vergisst.
Warum ist Löschen per Link Blödsinn? In fast jedem Forum, bei phpMyAdmin etc. wird Löschen per Link angeboten.
Ehmm... und die machen also alle Blödsinn?

Gruß
Günni
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
datensaz, loeschen, mysql, php


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Per Submit einen Datensatz löschen Fintan PHP Developer Forum 17 13-12-2004 15:25
[Funktion] Bestimmte Zeile per Link aus Datei löschen !!! firstlord18 PHP Developer Forum 17 27-11-2004 14:49
Datensatz löschen Benji SQL / Datenbanken 3 07-10-2004 13:11
Datensatz löschen sunburner PHP Developer Forum 7 25-06-2003 17:14
Datensatz löschen phaeton SQL / Datenbanken 7 19-05-2003 16:46

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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