Ankündigung

Einklappen
Keine Ankündigung bisher.

Catchable fatal error!? (mysqli)

Einklappen

Neue Werbung 2019

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

  • Catchable fatal error!? (mysqli)

    Hallo zusammen!
    Will Daten aus einem Formular in die Datenbank schreiben, den ganzen Tag über bin ich am googlen, kann nichts hilfreiches zu meinem Problem finden!
    PHP-Code:
    <?php
    $dbhost
    ="host";
    $dbuser="user";
    $dbname="name"
    $dbpass="passw"
    $dbverb = @mysqli_connect($dbhost$dbuser$dbpass$dbname); 

    if (
    mysqli_connect_errno())
      {echo 
    "Failed to connect to MySQL: " mysqli_connect_error();}

    mysqli_select_db($dbverb,$dbname);

    $user $_POST['user'];
    $city $_POST['city'];
    $age $_POST['age'];
    $mail $_POST['mail'];

    mysqli_query("INSERT INTO members1 ($dbverb,user,city,age,mail) VALUES ('$user','$city','$age','$mail'");
    ?>
    Nach Ablauf dieses Scripts erzeugt mysqli_query die Meldung:
    Catchable fatal error: Object of class mysqli could not be converted to string in /customers/2/4/3/domain.de/httpd.www/reg.php on line 18
    So wie ich es verstehe, konnte wohl ein best. object nicht zum string umgewandelt werden? Die eingegebenen Formulardaten Daten entspr. aber exakt den Datentypen der Datenbankfelder!

    PLEASE HELP ME!
    Komme nicht weiter!
    Gruß Uli

  • #2
    Was willst du denn mit dem Verbindungsobjekt ($dbverb) in der SQL-Query?

    Das muss eher so:

    PHP-Code:
    mysqli_query($dbverb"INSERT INTO members1 (user,city,age,mail) VALUES usw."); 
    - http://php.net/manual/en/mysqli.query.php

    Ansonsten bitte dringend über SQL-Injections informieren.

    - http://php-de.github.io/jumpto/faq/#sql-injection

    Zum Debugging von Datenbankqueries:

    - http://phpforum.de/forum/showthread.php?t=240643
    - http://php-de.github.io/jumpto/sql/

    Kommentar


    • #3
      Hallo mermshaus!!

      Ich habe es eben so korrigiert, wie Du es schreibst.
      Immerhin. Es erscheint keine Fehlermeldung mehr!

      Aber es erfolgt keine Speicherung in der Tabelle(hab über PhpMyadmin nachgesehn).

      Fehlt evtl. doch noch was im code?
      Auf jeden FAll Danke ich Dir!!!
      Gruß Uli

      Kommentar


      • #4
        Deine Query ist Fehlerhaft, mysqli_error sollte dir sagen was genau.
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar


        • #5
          http://php-de.github.io/jumpto/sql/
          Der erste Punkt zeigt dir, wie du deinen Fehler findest.

          man man, der Link wurde doch extra von mermshaus gepostet
          [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
          [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

          Kommentar


          • #6
            Nun, ich habe die mysql_query eben so verändert:

            PHP-Code:
            mysqli_query($dbverb"INSERT INTO members1 (user,city,age,mail) VALUES ('$user','$city','$age','$mail'"); 
            Sollte die immer noch fehlerhaft sein??
            Und auch folgendes eingebaut:
            PHP-Code:
            if (false === mysqli_query($dblink$query)) {
               
            // Deine Fehlerbehandlung hier, z.B.
               
            throw new Exception(mysqli_error($dblink), mysqli_errno($dblink));

            Jetzt erhalte ich die Meldung:
            Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /customers...
            Ich sehe auch unter den Links nach, welche ich erhalten habe.
            Aber bitte, geht doch nicht davon aus, dass ich das Geschriebene so einfach verstehe! Ich will das alles lernen, aber vieles wird so beschrieben, wie es eher ein Profi oder Insider verstehen kann, aber ich bin beides nicht.

            Kommentar


            • #7
              Anscheinend gibt es $dblink nicht oder es ist keine MySQLi-Verbindung.
              Dreh mal bitte error-reporting hoch:
              PHP-Code:
              error_reporting(-1); 
              und fix die ganzen Notices, die du bekommst.
              [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

              Kommentar

              Lädt...
              X