Ankündigung

Einklappen
Keine Ankündigung bisher.

php error bei Strato

Einklappen

Neue Werbung 2019

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

  • php error bei Strato

    Hallo
    ich wollte eine Website bei strato hosten. und mir wird der error angezeigt:
    Fatal error: Uncaught Error: mysqli object is already closed in ... Stack trace: #0 ...(36): mysqli->query() #1 {main} thrown in /mnt/web016/e0/16/511052116/htdocs/cgi-bin/Inventar/index.php on line 36
    Hier mein Script:
    HTML-Code:
    <?php session_start();
    require_once('dbconnection.php');
    
    
    
    error_reporting(E_ALL);
    ini_set('display_errors', true);
    ini_set('mysql.trace_mode', true);
    
    
    
    
    //Code for Registration 
    if(isset($_POST['signup']))
    {
        $fname=$_POST['fname'];
        $lname=$_POST['lname'];
    
    $result = $con->query("select id from users where fname='$fname'");
    $row_count = $result->num_rows;
    if($row_count>3)
    {
        echo "<script>alert('Artikel befindet sich schon 3 mal in der Truhe');</script>";
    } else{
    $msg=mysqli_query($con,"insert into users(fname,lname) values('$fname','$lname')");
    }
    if($msg)
    {
        echo "<script>alert('Erfolgreich Eingetragen');</script>";
    }
    }
    
    
    
    
    
    
    
    ?>
    Kann mir wer helfen??
    LG

  • #2
    Läuft das Ganze denn local? Fängst du Fehler ab wenn die DB Verbindung nicht klappt? Da wir nicht wissen was in dbconnection.php steht können wir nicht helfen
    Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

    Kommentar


    • #3
      Thallius Ich mache dass ganze über den strato server damit dass ganze im internet funktioniert.
      Hier die dbconnection.php
      HTML-Code:
      <?php
      # Zugangsdaten
      $db_server = '...';
      $db_benutzer = '...';
      $db_passwort = '..!';
      $db_name = '    ..';
      
      // Create connection
      $con = new mysqli($db_server, $db_benutzer, $db_passwort);
      
      // Check connection
      if ($con->connect_error) {
        echo("Connection failed: " . $con->connect_error);
      }
      ?>

      Kommentar


      • #4
        Dir fehlt der Datenbankname, siehe https://www.php.net/manual/de/mysqli.construct.php

        Kommentar


        • #5
          Zitat von Jakob265 Beitrag anzeigen
          PHP-Code:
          $fname=$_POST['fname'];
          $lname=$_POST['lname'];

          $result $con->query("select id from users where fname='$fname'");
          // […]
          $msg=mysqli_query($con,"insert into users(fname,lname) values('$fname','$lname')"); 
          Das was du da machst ist gefährlich: du beachtest den Kontextwechsel nicht, den musst du unbedingt behandeln!

          Außerdem: entscheide dich ob du prozedural oder objektorientiert arbeitest und mische beide Varianten nicht (ich würde aber zu PDO und damit objektorientiert arbeiten, dort ist die Arbeit mit prepared Statements einfacher); auch solltest du das ?> immer weglassen wenn dann nichts mehr kommt, damit vermeidest du dass versehentlich was ausgegeben werden kann.

          Kommentar


          • #6
            Zitat von Jakob265 Beitrag anzeigen
            Thallius Ich mache dass ganze über den strato server damit dass ganze im internet funktioniert.
            Hier die dbconnection.php
            HTML-Code:
            <?php
            # Zugangsdaten
            $db_server = '...';
            $db_benutzer = '...';
            $db_passwort = '..!';
            $db_name = ' ..';
            
            // Create connection
            $con = new mysqli($db_server, $db_benutzer, $db_passwort);
            
            // Check connection
            if ($con->connect_error) {
            echo("Connection failed: " . $con->connect_error);
            }
            ?>
            Wenn du es richtig machst sollte es automatisch überall funktionieren. Dann kannst du problemlos auf deinem lokalen Rechner entwickeln und wenn es läuft einfach nach Strato hochladen
            Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

            Kommentar


            • #7
              [selbst gelöscht]

              Kommentar

              Lädt...
              X