-
Mal kurz ein Zitat aus meiner Signatur
Glaub mir. Es lohnt sich kurz ein SQL zu formatieren wenn man Fehler darin sucht. Du kannst sogar den SQL-Code formiert in PHP schreiben. Diese 1Zeiler mit hunderten (525 in deinem Fall) von Zeichen sind schlichtwegs nicht lesbar.item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
Auch die Fehlermeldung von MySQL kommt etwas besser wenn du verschiedene Zeilen hast. Es gibt schliesslich einen Anhaltspunkt auf welcher Zeile der Fehler sein könnte. Das ist bei dir die Zeile 1 weil du nur eine Zeile hast.
Dann poste mal das ganze formatiert in SQL-Tags ins Forum. Ich habs dir ja vorgemacht wie es aussehen könnte.
Und dann das ganze mal mit phpMyAdmin testen um zu sehen was passiert. Ggf ist ein falscher Spaltenname dabei, ev. ein zu langer Wert etc.)
Nachtrag:
Poste ansonsten mal dein create-Table-Script. Dann können wir mal testen..---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
24.01.12 16:47 #17
- Registriert seit
- Feb 2008
- Ort
- Niedersachsen
- Beiträge
- 283
Das mit dem Ordentlicher gebe ich gerne zu habe die anderen Dinge ja auch formatiert.PHP-Code:string(541)
"INSERT INTO
`ow_login`
(
`username`,
`email`,
`passwort`,
`confirmcode`,
`ip`,
`sicherheit`,
`antwort`
)
VALUES
(
'JuSeCo',
'verino@live.de', '057958778620777b461354ffa987651c357f3f27a1be21806bb5a5147c1e05f3', '8e20fdc66ddea62b8cb80b2165c83da8',
'',
'Mein Geburtsort',
'Brühl'
)"
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
Wollte hier nur die ausgabe 1 zu 1 wiedergeben.
Anbei bemerkt, er trägt die Daten in die DB ein zumindest in die erste.
-
Du hast wahrscheinlich mein Nachtrag nicht gesehen
Nachtrag:
Poste ansonsten mal dein create-Table-Script. Dann können wir mal testen..---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
24.01.12 16:54 #19
- Registriert seit
- Feb 2008
- Ort
- Niedersachsen
- Beiträge
- 283
PHP-Code:
-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 24. Jan 2012 um 16:54
-- Server Version: 5.5.16
-- PHP-Version: 5.3.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Datenbank: `ow`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `ow_login`
--
CREATE TABLE IF NOT EXISTS `ow_login` (
`id` int(30) unsigned zerofill NOT NULL AUTO_INCREMENT,
`username` varchar(15) NOT NULL,
`vorname` varchar(30) NOT NULL,
`nachname` varchar(30) NOT NULL,
`email` varchar(50) NOT NULL,
`passwort` varchar(100) NOT NULL,
`passwort2` varchar(100) NOT NULL,
`status` varchar(2) NOT NULL DEFAULT '2',
`confirmcode` varchar(56) NOT NULL,
`sicherheit` varchar(50) NOT NULL,
`antwort` varchar(50) NOT NULL,
`register` datetime NOT NULL,
`last_login` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`session_id` varchar(56) NOT NULL,
`ip` bigint(20) NOT NULL,
`ip_pw_change` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-
Komisch. Mit dieser Tabelle geht mein test problemlos
Ist das neue Problem ev. im 2ten SQL? Wenn ja, kannst du das genau gleich testen.PHP-Code:include_once('connect.php');
$sql = "
INSERT INTO
`ow_login`
(
`username`,
`email`,
`passwort`,
`confirmcode`,
`ip`,
`sicherheit`,
`antwort`
)
VALUES
(
'JuSeCo',
'verino@live.de',
'057958778620777b461354ffa987651c357f3f27a1be21806bb5a5147c1e05f3',
'8e20fdc66ddea62b8cb80b2165c83da8',
'NA',
'Mein Geburtsort',
'Brühl'
)
";
mysql_query($sql) or die(mysql_error());
echo mysql_insert_id();
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
24.01.12 17:17 #21
- Registriert seit
- Feb 2008
- Ort
- Niedersachsen
- Beiträge
- 283
So nochmal die beiden Abfragen:
habe es nach deinem Bild übernommen die letzte ausgabe ist die selbe wie zuvor denke er startet die 2te eintragung gar nicht erst und unterbricht direkt nach der ersten da diese auch eingetragen wird und die 2te nicht mehr.PHP-Code:$sql =
"INSERT
INTO
`ow_login`
(`username`, `email`, `passwort`, `confirmcode`, `ip`, `sicherheit`, `antwort`)
VALUES
('$username', '$email', '$passwort', '$confirm_code', '$user_ip', '$sicherheitsfrage', '$antwort')";
//Hier das SQL-Script zur weiteren Fehleranalyse ausgeben
var_dump($sql);
//und dann kannst du es immer noch ausführen. Aber eigentlich ist das vorerst unwichtig
$log_data = mysql_query($sql);
mysql_query($log_data) or die(mysql_error());
echo mysql_affected_rows();
echo "{$log_data}\n";
$last_id = mysql_insert_id($log_data); #nicht sicher ob $log_data oder $sql
$pro_data =
"INSERT
INTO
`ow_user_data`
(`userid`, `vorname`, `nachname`, `geb_tag`, `geb_mon`, `geb_jahr`, `sex`)
VALUES
('$last_id', '$vorname', '$nachname, '$geb_tag', '$geb_mon', '$geb_jahr', '$sex')";
var_dump($pro_data);
$pro_data2 = mysql_query($pro_data);
mysql_query($pro_data2) or die(mysql_error());
echo mysql_affected_rows();
echo "{$pro_data2}\n";
Geändert von Godstyle (24.01.12 um 17:26 Uhr)
-
item: Das $log_data hat in mysql_insert_id() nix verloren. Dort käme die Verbindung-Kennung rein. Aber du arbeitest nur mit einer Verbindung, ergo kannst du es leer lassen
item: Was soll der Befehl 'mysql_query($log_data)' bewirken? $log_data ist True oder False, je nachdem der Insert von 'mysql_query($sql);' gelungen ist oder nicht. Ein True oder False ist kein SQL-Query und darum nicht ausführbar.
Was du willst sieht eher so aus
PHP-Code://Falsch (deines)
$log_data = mysql_query($sql);
mysql_query($log_data) or die(mysql_error());
echo mysql_affected_rows();
echo "{$log_data}\n";
$last_id = mysql_insert_id($log_data);
//richtig
mysql_query($sql) or die(mysql_error());
$last_id = mysql_insert_id();
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
24.01.12 17:45 #23
- Registriert seit
- Feb 2008
- Ort
- Niedersachsen
- Beiträge
- 283
Wow super, dadurch erreiche ich nun die 2te abfrage var_dump liefert nun auch die richtigen ergebnisse auch mysql_insert_id() wird mir richtig angegeben.
Doch der eintrag in der DB bleibt aus.
sql tabelle:PHP-Code:string(541) "
INSERT INTO `ow_login` (`username`, `email`, `passwort`, `confirmcode`, `ip`, `sicherheit`, `antwort`) VALUES ('JuSeCo', 'verino@live.de', '057958778620777b461354ffa987651c357f3f27a1be21806bb5a5147c1e05f3', '503bc91a9286e795e4942e7e51d8ad3a', '', 'Mein Geburtsort', 'Brühl')"
string(244) "
INSERT INTO
`ow_user_data`
(
`userid`,
`vorname`,
`nachname`,
`geb_tag`,
`geb_mon`,
`geb_jahr`,
`sex`
)
VALUES
(
'28',
'Daniel',
'Kunert,
'20',
'8.',
'1985',
'männlich'
)
"
code:PHP-Code:-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 24. Jan 2012 um 17:42
-- Server Version: 5.5.16
-- PHP-Version: 5.3.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Datenbank: `ow`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `ow_user_data`
--
CREATE TABLE IF NOT EXISTS `ow_user_data` (
`id` int(30) unsigned zerofill NOT NULL AUTO_INCREMENT,
`userid` varchar(30) NOT NULL,
`vorname` varchar(20) NOT NULL,
`nachname` varchar(20) NOT NULL,
`geb_tag` varchar(2) NOT NULL,
`geb_mon` varchar(10) NOT NULL,
`geb_jahr` varchar(4) NOT NULL,
`sex` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
So Problem gelöst.PHP-Code:$pro_data = "INSERT
INTO
`ow_user_data`
(`userid`, `vorname`, `nachname`, `geb_tag`, `geb_mon`, `geb_jahr`, `sex`)
VALUES
('$last_id', '$vorname', '$nachname, '$geb_tag', '$geb_mon', '$geb_jahr', '$sex')";
var_dump($pro_data);
$pro_data2 = mysql_query($pro_data);
mysql_query($pro_data) or die(mysql_error());
echo mysql_affected_rows();
echo "{$pro_data}\n";
Ich danke recht Herzlich für die Tatkräftige UnterstützungGeändert von sheel (24.01.12 um 18:17 Uhr) Grund: Doppel, die Vierte
-
@Godstyle: Bitte "Bearbeiten" drücken, statt immer Doppelposts zu erstellen.
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
Ähnliche Themen
-
mysql_insert_id IN mysql_query
Von Transporter im Forum PHPAntworten: 5Letzter Beitrag: 13.03.09, 15:05 -
Fehler in Funktionsweise "mysql_insert_id()" ?
Von shorty im Forum PHPAntworten: 4Letzter Beitrag: 14.11.06, 10:45 -
Problem: Flash MX (7.1) exportiert meine Fla nicht mehr - dringendes Problem
Von Lukasz im Forum Flash PlattformAntworten: 4Letzter Beitrag: 22.03.06, 20:50 -
mysql_insert_id & auto_increment
Von barney_hh im Forum Relationale DatenbanksystemeAntworten: 13Letzter Beitrag: 17.01.04, 21:36 -
Problem mit PopUp (Ja ich weiss Suche benutzten, hab ein ganz anderes Problem)
Von killkrog im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 13.06.02, 12:29



2Danke


Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren