schreiben in sql db mit 'query'

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • schreiben in sql db mit 'query'

    Hallo, könnt ihr mir sagen warum die werte nicht in die Datenbank geschrieben werden?
    Die Verbindung zur DB "benutzer" steht, die Werte sollen in die Tabelle "user" geschrieben werden.

    Als Fehlermeldung erhalte ich:

    "Fatal error: Call to a member function query() on a non-object in C:\Programme\xampp\htdocs\newlogin.php on line 54"

    Zeile 54 = //xxxxx

    Danke

    Ich benutze "phpmyadmin" mit xampp.

    PHP-Code:
    <html>
    <head>
    <title>newlogin</title>
    <meta name="author" content="Ranger">
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <?
    $data=$_POST['data'];
    $datensatz=$_POST['datensatz'];
    $vorname=$_POST['vorname'];
    $nachname=$_POST['nachname'];
    $login=$_POST['login'];
    $pass=$_POST['pass'];
    $pass2=$_POST['pass2'];
    $email=$_POST['email'];
    $submit=$_POST['submit'];
    $result=$_POST['result'];
    $user_query=$_POST['user_query'];
    $mysqlhost="localhost"; // MySQL-Host angeben
    $mysqluser="root"; // MySQL-User angeben
    //$mysqlpwd="abcd1234"; // Passwort angeben
    $mysqldb="benutzer"; // Gewuenschte Datenbank angeben
    $connection=mysql_connect($mysqlhost, $mysqluser) or die
    ("Verbindungsversuch fehlgeschlagen");
    mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
    waehlen.");
    if (!$pass) die ("Kennwort fehlt");
    if (!$nachname) die ("Name fehlt");
    if (!$vorname) die ("Vorname fehlt");
    if (!$login) die ("Benutzername fehlt");
    if (!$email) die ("email fehlt");
    if ($pass!=$pass2) die ("Die beiden Kennw&ouml;rter stimmen nicht &uuml;berein!");
    $user_query = mysql_query("SELECT * from user where login = '$login'");
    if ($user_query->num_rows>0)
    ("Benutzername <b>$login</b> existiert bereits!");
    else
    $mysqldb->query(                                                                    //xxxxx
    "INSERT INTO user                                                                   
    (
    name,
    vorname,
    pass,
    login,
    email)
    VALUES
    (
    '$name',
    '$vorname',
    '$pass',
    '$login',
    '$email'
    )
    "
    );
    if ($benutzer->errno) die ("Fehler beim Anlegen des Benutzers.");
    echo("Benutzer wurde angelegt.<br>");
    ?>
    </body>
    </html>
    Zuletzt geändert von kreuzzug; 21.04.2008, 15:42.

  • #2
    PHP-Code:
    //String
    $mysqldb="benutzer"
    und dann versuchst du auf diese Var wie auf ein Objekt zuzugreifen
    PHP-Code:
    $mysqldb->query(...) 
    dat kann nicht klappen
    Und den gleichen Fehler machst du hier
    PHP-Code:
    $user_query mysql_query("SELECT * from user where login = '$login'");
    if (
    $user_query->num_rows>0
    Schau mal im Manual nach ob mysql_query() wirklich ein Objekt zurückgibt...
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Wo hast du dir das denn zusammenkopiert? Das passt ja vorne und hinten nicht. Am besten lernst du erstmal Grundlagen. Da sind ja so viele Fehler drin, man weiß ja gar nicht wo man anfangen soll.
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        danke,
        wie könnte ich den Befehl denn ändern, damit es klappen könnte?
        Ich finde in der Literatur nur diesen Befehl,
        für den man glaubich vorher eine Klasse definiert haben müsste, was ich allerdings nicht gemacht habe.

        Kommentar


        • #5
          Ich finde in der Literatur nur diesen Befehl,
          für den man glaubich vorher eine Klasse definiert haben müsste, was ich allerdings nicht gemacht habe.
          Dass ich dir netterweise direkt auf's Manual verlink habe ist dir entgangen? Ich sehe dort nix von Objekt. Und es hat gute Beispiele wie man das Resultat einer Abfrage auslesen kann
          Bitte lies nicht irgendwelche Literatur, sondern das Manual.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Als erstes solltest du dir Informationen zum sicheren Programmieren beschaffen. Als Grundsatz gilt fast immer $_POST oder auch $_GET aus einem Formular als nicht vertrauenswürdige Quellen zu betrachten. Hilfreich dazu auch http://de2.php.net/manual/en/function.mysql-real-escape-string.php.

            Zum zweiten wie schon gesagt das hier $mysqldb -> query(....) kann nicht funktionieren,diese Zugriffsanweisung kommt aus der oop!

            Also musst du dies -> in ein = ändern!

            Dein Quellcode ist im übrigen ein ziemliches Chaos!

            mfg der Litter
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar


            • #7
              Als Grundsatz gilt fast immer $_POST oder auch $_GET aus einem Formular als nicht vertrauenswürdige Quellen zu betrachten.
              Die beiden sind - genauso wie Cookie - NIE sicher!

              BTW: was macht denn dein eigenes Problem?

              Kommentar


              • #8
                Da komme ich momentan nicht so recht weiter. Ich werde es mal auf eine andere Art und Weise probieren,vieleicht klappt das besser!

                Bei $_REQUEST ist das ja das selbe.
                Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                http://www.lit-web.de

                Kommentar


                • #9
                  Bei $_REQUEST ist das ja das selbe.
                  Ja logisch, da stehen standardmäßig die Daten aller drei Arrays drin.

                  Kommentar

                  Lädt...
                  X