Antwort
 
Themen-Optionen Thema durchsuchen
Alt 12.01.2006, 21:19 Nach oben    #1
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard Datensatz löschen

Hallo,

ich habe ein Problem mit meinem Script. Ich erhalte einen Parser-Fehler
Zitat:
Parse error: parse error, unexpected T_STRING in /srv/www/htdocs/web163/html/validate.php on line 14
Das Script sieht folgendermaßen aus:
PHP-Code:
<?
include ("config.inc.php");

$query = "SELECT * FROM tmp_nl_anmeldung WHERE id = '$id";
$rs = mysql_query($query,$conn);
if (mysql_num_rows($rs) > 0) {
    $res = mysql_fetch_array($rs);
    $email = $res['email'];
    $name = $res['name'];
    $handy = $res['handy'];
    $sql = "INSERT INTO 'nl_anmeldung' ('email','name','handy','time','ip') VALUES ('$email','$name','$handy','$time','$ip');
    mysql_query($sql,$conn);
    
    $query = "DELETE FROM tmp_nl_anmeldung WHERE id = '$id'";
    mysql_query($query,$conn);
    }
else {
echo 'Es trat ein Fehler auf. Ihre Anmeldedaten konnten nicht gefunden werden. Bitte melden Sie sich erneut an';
}
?>
Ich habe irgendwie keine Ahnung, was beim Delete-query falsch ist. Würde mich über Hilfe wie immer ganz doll freuen.
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 21:24 Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von PaterNoster
 
Registriert seit: 18.08.2005
Ort: Dortmund
Beiträge: 166
Standard

Das Syntax-Highlighting zeigt's Dir schon. das abschließende Anführungszeichen bei $sql fehlt...
PaterNoster ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 21:39 Nach oben    #3
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard

Danke, der Hinweis hat weitergeholfen.

Beim testen des Scripts erhalte ich jetzt aber einen Fehler, die Zeile 6 betreffend
Zitat:
Warning: mysql_num_rows( supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web163/html/validate.php on line 6
Ich habe mich hier an ein Beispielscript aus dem Buch "Programmieren lernen in PHP5" gehalten und kann daher den Fehler nicht ganz nachvollziehen.
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 21:48 Nach oben    #4
bob
o_O
 
Registriert seit: 18.08.2005
Ort: Essen
Beiträge: 159
Standard

Hi,
PHP-Code:
$query "SELECT * FROM tmp_nl_anmeldung WHERE id = '$id";
$rs mysql_query($query,$conn); 
Da ist schon was falsch .... ich denke, das müsste so aussehen:

PHP-Code:
$query "SELECT * FROM tmp_nl_anmeldung WHERE id = "'.$id.'" ";
$rs mysql_query($query,$conn); 

Gruss,
bob
__________________
Grüsse aus Essen,
bob
bob ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 21:54 Nach oben    #5
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard

Die Änderung bringt mir wiederum einen Parser-Fehler
Zitat:
Parser-Fehler: C:\Programme\xampp\htdocs\zend\validate.php Zeile 4 - syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 21:55 Nach oben    #6
Erfahrener Benutzer
 
Benutzerbild von PaterNoster
 
Registriert seit: 18.08.2005
Ort: Dortmund
Beiträge: 166
Standard

PHP-Code:
$query "SELECT * FROM tmp_nl_anmeldung WHERE id = '".$id."'";
$rs mysql_query($query,$conn); 
Auch in dem Fall ist das Syntax-Highlighting Dein Freund...
PaterNoster ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:02 Nach oben    #7
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard

OK, Parser-Fehler ist wieder weg, ich habe nun aber wieder den alten Fehler in Zeile 6.

Kann das was damit zu tun haben, dass ich auf dem Webspace noch PHP4 laufen habe?
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:12 Nach oben    #8
Erfahrener Benutzer
 
Benutzerbild von PaterNoster
 
Registriert seit: 18.08.2005
Ort: Dortmund
Beiträge: 166
Standard

Woher kommt denn überhaupt der Wert in $id? Außerdem: Guck Dir mal in Deinem ersten Posting das erste $query an, da liegt doch auch schon was im argen... vergleich mal mit meinem Posting...
PaterNoster ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:14 Nach oben    #9
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard

Den übernehme ich aus einem Link

PHP-Code:
http://www.......de/validate.php?id=$time&code=$code 
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:15 Nach oben    #10
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

So sollte es funktionieren:
PHP-Code:
<?php

    
include_once('config.inc.php');

    
$sql 'SELECT 
                     * 
              FROM 
                     tmp_nl_anmeldung 
              WHERE 
                     id = ' 
$id;

    
$resource mysql_query($sql) or exit(mysql_error());

    if(
mysql_num_rows($resource) > 0) {
        
$tmpmysql_fetch_assoc($resource);
        
$email $tmp['email'];
        
$name $tmp['name'];
        
$handy $tmp['handy'];
        
        
$sql "INSERT INTO 
                      nl_anmeldung 
                  (
                     'email',
                     'name',
                     'handy',
                     'time',
                     'ip'
                  ) 
                  VALUES 
                  (
                     '" 
$email ."',
                     '" 
$name ."',
                     '" 
$handy "',
                     '" 
$time "',
                     '" 
$ip "'
                  )"
;

        
mysql_query($sql) or exit(mysql_error());
    
        
$sql'DELETE FROM 
                      tmp_nl_anmeldung 
                 WHERE 
                      id = ' 
$id;

        
mysql_query($sql) or exit(mysql_error());
    }
    else {
        echo 
'Fehlermeldung';
    }

?>
Ungetestet.
Nur mal etwas formatiert .

Geändert von Ben (12.01.2006 um 22:46 Uhr)
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:17 Nach oben    #11
bob
o_O
 
Registriert seit: 18.08.2005
Ort: Essen
Beiträge: 159
Standard

dann mach es mit $_GET['id']; ... :rolleyes: ...

ICh habe es so gelöst:

$sql = "DELETE FROM tabelle WHERE id='".$id."'";

und nein bei mir ist id keine get variable
__________________
Grüsse aus Essen,
bob
bob ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:21 Nach oben    #12
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

@OP
befolge ma Bens Ratschlag bis auf eins:
das "exit" nach mysql_query() änderst du bitten in "die", denn sonst wirds nicht funktionieren, nich Ben?

//edit: narf scheiß de-docu bei PHP. Man! der Bernd hat doch recht ^^
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int

Geändert von Jojo (12.01.2006 um 22:42 Uhr)
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:30 Nach oben    #13
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard

Mal noch eine Frage: Muss ich $id nicht definieren, wenn ich es aus einer url nehme?

Bekomme Fehlermeldung "Query was empty".

Geändert von andy74 (12.01.2006 um 22:37 Uhr)
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:35 Nach oben    #14
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Ja.
PHP-Code:
$id array_key_exists('id'$_GET) ? intval($id) : 0
Steckt in der URI eine "id", steht sie in $id, ansonsten 0. array_key_exists() sollte selbsterklärend sein.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:36 Nach oben    #15
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

wenn du $id aus einer URL entnimmst, dann musst du natürlich erst mal den Wert in der URL in $id speichern. arrow: hier dazu ein kleiner "Aufkärungskurs" http://forum.developers-guide.net/sh...t=688#post6007)

um auch bei eingeschaltenem error_reporting() keinen Fehler zu bekommen, würd ich dir folgende zuweisung empfehlen:

PHP-Code:
$id =  (isset($_GET['id']) (int) $_GET['id'] : 0
//edit: @Lars: da du schon ma schneller warst: was is besser: intval() oder (int)?
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:36 Nach oben    #16
Erfahrener Benutzer
 
Benutzerbild von PaterNoster
 
Registriert seit: 18.08.2005
Ort: Dortmund
Beiträge: 166
Standard

Wenn Du es mit
PHP-Code:
$id $_GET['id']; 
abholst, nicht.

Auch wenn es jetzt zu Test-/Übungszwecken übertrieben sein dürfte, solltest Du im produktiven Betrieb die Angaben bzw Variablen, die per URL kommen, immer noch mal prüfen. Nix ist sicher, schon gar nicht Werte, die von außen kommen.
PaterNoster ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:43 Nach oben    #17
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard

hm, bekomms nicht zum laufen.

Muss es in Zeile 12
PHP-Code:
    $resource mysql_query($query) or die(mysql_error()); 
oder
PHP-Code:
    $resource mysql_query($sql) or die(mysql_error()); 
heissen??
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:46 Nach oben    #18
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Ich habe $query mal in $sql umbenannt .. nicht verwirren lassen

EDIT:
Sorry .. natürlich .. hehe .. .. habsc bisschen rumgekuddelmuddelt .. sorry
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:50 Nach oben    #19
Benutzer
 
Registriert seit: 27.05.2005
Beiträge: 34
Standard

Ich bekomm jetzt folgende Meldung "Unknown column 'id' in 'where clause'"
andy74 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.01.2006, 22:51 Nach oben    #20
Johannes Schlichenmaier
 
Benutzerbild von Jojo
 
Registriert seit: 26.08.2005
Ort: Mannheim
Beiträge: 403
Standard

Jo, hast du denn überhaupt ne Spalte "id" ?
__________________
In the beginning was the word
and the word was content-type: plain/text

heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int
Jojo ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Thunderbird] eMails werden nur zum löschen markiert MrNiceGuy Plauderecke 5 13.09.2007 18:56
Prob. beim Ordner löschen X-Unity.de PHP-Programmierung 15 19.03.2006 11:27
Frage zu Konsole: automatisches Löschen alter Dateien Jann Hendrik Tools, Server, Betriebssysteme 11 15.03.2006 15:34


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45