tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
JA
ANTWORTEN
23
ZUGRIFFE
597
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Mal kurz ein Zitat aus meiner Signatur
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    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.
    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

  2. #17
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    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 syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1 
    Das mit dem Ordentlicher gebe ich gerne zu habe die anderen Dinge ja auch formatiert.

    Wollte hier nur die ausgabe 1 zu 1 wiedergeben.

    Anbei bemerkt, er trägt die Daten in die DB ein zumindest in die erste.
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  3. #18
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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

  4. #19
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    PHP-Code:

    -- phpMyAdmin SQL Dump
    -- version 3.4.5
    -- http://www.phpmyadmin.net
    --
    -- 
    Hostlocalhost
    -- Erstellungszeit24. Jan 2012 um 16:54
    -- Server Version5.5.16
    -- PHP-Version5.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` (
      `
    idint(30unsigned zerofill NOT NULL AUTO_INCREMENT,
      `
    usernamevarchar(15NOT NULL,
      `
    vornamevarchar(30NOT NULL,
      `
    nachnamevarchar(30NOT NULL,
      `
    emailvarchar(50NOT NULL,
      `
    passwortvarchar(100NOT NULL,
      `
    passwort2varchar(100NOT NULL,
      `
    statusvarchar(2NOT NULL DEFAULT '2',
      `
    confirmcodevarchar(56NOT NULL,
      `
    sicherheitvarchar(50NOT NULL,
      `
    antwortvarchar(50NOT NULL,
      `
    registerdatetime NOT NULL,
      `
    last_logintimestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `
    session_idvarchar(56NOT NULL,
      `
    ipbigint(20NOT NULL,
      `
    ip_pw_changevarchar(15NOT 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 */
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  5. #20
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Komisch. Mit dieser Tabelle geht mein test problemlos
    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(); 
    Ist das neue Problem ev. im 2ten SQL? Wenn ja, kannst du das genau gleich testen.
    Godstyle bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    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

  6. #21
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    283
    So nochmal die beiden Abfragen:

    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"
    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.
    Geändert von Godstyle (24.01.12 um 17:26 Uhr)
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  7. #22
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    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(); 
    Godstyle bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    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

  8. #23
    Godstyle Godstyle ist offline Mitglied Brokat
    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.

    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'
    )

    sql tabelle:

    PHP-Code:
    -- phpMyAdmin SQL Dump
    -- version 3.4.5
    -- http://www.phpmyadmin.net
    --
    -- 
    Hostlocalhost
    -- Erstellungszeit24. Jan 2012 um 17:42
    -- Server Version5.5.16
    -- PHP-Version5.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` (
      `
    idint(30unsigned zerofill NOT NULL AUTO_INCREMENT,
      `
    useridvarchar(30NOT NULL,
      `
    vornamevarchar(20NOT NULL,
      `
    nachnamevarchar(20NOT NULL,
      `
    geb_tagvarchar(2NOT NULL,
      `
    geb_monvarchar(10NOT NULL,
      `
    geb_jahrvarchar(4NOT NULL,
      `
    sexvarchar(10NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

    /*!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 */
    code:

    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"
    So Problem gelöst.


    Ich danke recht Herzlich für die Tatkräftige Unterstützung
    Geändert von sheel (24.01.12 um 18:17 Uhr) Grund: Doppel, die Vierte
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  9. #24
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    @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

  1. mysql_insert_id IN mysql_query
    Von Transporter im Forum PHP
    Antworten: 5
    Letzter Beitrag: 13.03.09, 15:05
  2. Antworten: 4
    Letzter Beitrag: 14.11.06, 10:45
  3. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  4. mysql_insert_id & auto_increment
    Von barney_hh im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 17.01.04, 21:36
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29