Antwort
 
Themen-Optionen Thema durchsuchen
Alt 09.12.2005, 12:54 Nach oben    #1
cyberboy
Gast
 
Beiträge: n/a
Standard Problem mit Insert into-Statement

Habe ein Problem mit folgendem SQL-Statement:

$sql = "INSERT INTO ".$database_table."
SET
id = '',
user = '".eingaben_pruefen($_POST['user'])."',
pass = '".md5($_POST['pass1'])."',
vname = '".eingaben_pruefen($_POST['vname'])."',
nname = '".eingaben_pruefen($_POST['nname'])."',
level = '".eingaben_pruefen($_POST['level'])."'
";
$query = mysql_query($sql) or die("Query nicht erfolgreich.");

Als Ausgabe erscheint jedes Mal "Query nicht erfolgreich.". An den Funktionen "eingaben_pruefen" und "md5" kann's nicht liegen. Hab die schon rausgenommen und dann probiert, aber ohne Erfolg. Hab auch schon einzelne Werte rausgenommen, aber das ändert auch nichts. Muss irgendwas am SQL-Statement sein, aber ich seh einfach keinen Fehler dabei.
Fällt euch da was auf?
 
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 09.12.2005, 13:26 Nach oben    #2
Neuer Benutzer
 
Benutzerbild von Yang
 
Registriert seit: 28.11.2005
Beiträge: 9
Standard

benutz doch mal mysql_error() um eine vernünftige fehlerausgabe zu bekommen.

PHP-Code:
$sql "INSERT INTO ".$database_table.
SET
id = '', 
user = '"
.eingaben_pruefen($_POST['user'])."', 
pass = '"
.md5($_POST['pass1'])."', 
vname = '"
.eingaben_pruefen($_POST['vname'])."',
nname = '"
.eingaben_pruefen($_POST['nname'])."',
level = '"
.eingaben_pruefen($_POST['level'])."'
"
;

$query mysql_query($sql) or die("INSERT ERROR: " mysql_error() . "<br /><pre>$sql</pre>"); 
nun mal einfügen und fehlerausgabe posten

Geändert von Yang (09.12.2005 um 13:30 Uhr)
Yang 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 09.12.2005, 13:33 Nach oben    #3
Neuer Benutzer
 
Benutzerbild von Yang
 
Registriert seit: 28.11.2005
Beiträge: 9
Standard

or die("Query nicht erfolgreich."); ändern in or die("INSERT ERROR: " . mysql_error() . "<br /><pre>$sql</pre>");
wie in meinem beispiel... da kann dann nicht Query nicht erfolgreich stehen, da es in meinem bespiel nicht vorkommt. logisch oder. also änder das mal so wie im beispiel.
Yang 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 09.12.2005, 13:34 Nach oben    #4
cyberboy
Gast
 
Beiträge: n/a
Standard

Das Fehler muss hier liegen...

$sql = "SELECT * FROM ".$database_table." WHERE user = '".$_POST['user']."' ";

$query = mysql_query($sql) or die("INSERT ERROR: ".mysql_error()."<br /><pre>$sql</pre>");

Da bekomm ích dann die Fehlermeldung:

INSERT ERROR: No database selected
SELECT * FROM users WHERE user = 'hans'
 
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 09.12.2005, 13:37 Nach oben    #5
Neuer Benutzer
 
Benutzerbild von Yang
 
Registriert seit: 28.11.2005
Beiträge: 9
Standard

na damit kann man doch schon was anfangen.

du hast anscheinend keine datenbank ausgewähl.
mysql_select_db('datenbank'); nach dem mysql_connect geschrieben?
existiert diese datenbank auch?
Yang 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 09.12.2005, 13:37 Nach oben    #6
cyberboy
Gast
 
Beiträge: n/a
Standard

Sorry, hab grad den Fehler selber entdeckt. Hab wohl ein Brett vorm Kopf gehabt...
Ja, hatte das "mysql_select_db" vergessen...

Aber danke für deine Hilfe!!!
 
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 09.12.2005, 13:43 Nach oben    #7
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Code:
INSERT INTO tbl SET...
das ist falsch. du hast da INSERT und UPDATE kombiniert.
PHP-Code:
$sql "INSERT INTO ".$database_table." (id, user, pass, vname, nname, level) VALUES('', '".eingaben_pruefen($_POST['user'])."',  '".md5($_POST['pass1'])."', '".eingaben_pruefen($_POST['vname'])."', '".eingaben_pruefen($_POST['nname'])."',
'"
.eingaben_pruefen($_POST['level'])."');";

$query mysql_query($sql) or die("Query nicht erfolgreich."); 
das sollte korrekt sein.

btw: du sparst dir viel schreibarbeit wenn deine eingabe_pruefen auf das komplette $_POST array angewendet wird und nicht auf jeden wert einzeln. einfach mittels einer foreach durchgehen und gut ist.
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009

Geändert von WarrenFaith (09.12.2005 um 13:46 Uhr)
WarrenFaith 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 09.12.2005, 13:49 Nach oben    #8
Neuer Benutzer
 
Benutzerbild von Yang
 
Registriert seit: 28.11.2005
Beiträge: 9
Standard

interessant... das mysql.com manual ist da anderer meinung:
http://dev.mysql.com/doc/refman/5.1/en/insert.html

Zitat:
13.2.4. INSERT Syntax

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

Or:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
Yang 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 09.12.2005, 14:01 Nach oben    #9
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

ok wieder was gelernt
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith 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 09.12.2005, 14:20 Nach oben    #10
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Zitat:
Zitat von Yang
interessant... das mysql.com manual ist da anderer meinung:
http://dev.mysql.com/doc/refman/5.1/en/insert.html
Unterschied ist der, dass man mit der VALUES()-Sache mehrere Datensätze auf einmal einfügen kann. Einfach die VALUES()-Blöcke per Komma trennen.
__________________
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 10.12.2005, 13:40 Nach oben    #11
cyberboy
Gast
 
Beiträge: n/a
Standard

Ich habe eine Variable i, in der der Name des Users steht, und möchte nun die Daten des Users in die jeweiligen Variablen laden, aber das funzt nicht so wie ich will. Habt ihr da ein Tip für mich?


$i = $_GET['user'];

$sql = "SELECT * FROM ".$database_table." WHERE user = '$i' ";
$query = mysql_query($sql) or die("Query nicht erfolgreich!");
$Anmeldename = mysql_result($query, 'user');
$Vorname = mysql_result($query, 'vname');
$Nachname = mysql_result($query, 'nname');
$Rechte = mysql_result($query, 'level');
 
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 10.12.2005, 13:48 Nach oben    #12
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

PHP-Code:
if ( !mysql_num_rows($query) )
{
    die(
'Nutzer existiert nicht.');

__________________
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 10.12.2005, 13:53 Nach oben    #13
cyberboy
Gast
 
Beiträge: n/a
Standard

Aber der Nutzer exisitiert. Ich bekomm jedoch nur die ID des Datensatzes für alle Werte raus. Ich möchte aber gerne die einzelnen Werte passend für die jeweiligen Variablen haben.
 
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 10.12.2005, 14:16 Nach oben    #14
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

PHP-Code:
$row mysql_fetch_assoc($query);

$name $row['name'];
// [...] 
So schwer kanns doch nciht 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
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
[MySQL] Was macht INSERT IGNORE/INSERT DELAYED, Anwendungsbeispiele Ben Datenbanken 7 05.02.2007 18:23
Abgeleitete Rollen Basti Datenbanken 7 29.01.2007 14:58
Insert Problem la-finest Datenbanken 5 21.03.2006 11:53
PRoblem mit Cookie bei PHPbb-Board Julied64 PHP-Programmierung 2 12.12.2005 15:41
OSX + Eclipse 3.1 Problem bacarni Eclipse 3 29.07.2005 21:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 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