Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL: Fehler 10046 keine Datenbank ausgewählt

Einklappen

Neue Werbung 2019

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

  • MySQL: Fehler 10046 keine Datenbank ausgewählt

    Hallo,

    ich bekomme bei meinem SQL Code oben genannten Fehler:

    PHP-Code:
    $username 'root';
      
    $passwort '';
      
    $host 'localhost';
      
    $datenbank 'werte';
      
      
    $username $_POST['benutzername'];
      
    $passwort $_POST['passwort'];
      
    $name $_POST['name'];
      
    $vorname $_POST['vorname'];
      
    $Geburtsdatum $_POST['geburtsdatum'];
      
    $strasse $_POST['straße'];
      
    $plz $_POST['plz'];
      
    $ort $_POST['ort'];
      
    $email $_POST['email'];
      
      
    $verbindung mysql_connect($host$username,$passwort);
      if(
    $verbindung){
      
      
    $ergebnis mysql_select_db($werte,$verbindung);
      if(
    $ergebnis){
      
    $sqlinsert 'INSERT INTO werte values(benutzername, passwort, name, vorname, geburtsdatum, straße, plz, ort, email)($benutzername,$passwort,$name,$vorname,$Geburtsdatum, $strasse,$plz,$ort,$email)';
      
    $ergebnis mysql_query($sqlinsert$verbindung); 
       }
       else
         echo 
    'Fehler bei Abfrage insert: ' mysql_errno();
       }
       else
         echo 
    'Fehler bei Verbindungsaufbau: ' mysql_errno(); 
    Mein PHP und die insert Anweisungen scheinen soweit richtig.

    Ich weiß nicht wieso ich den Fehler bekomme. Muss ich die Datenbank erst mit use auswählen?

  • #2
    Wäre spannend in welcher Zeile Deines PHP-Skriptes der Fehler auftritt.

    Weiterhin sind da noch eine Menge anderer Probleme

    a) Der Insert ist so nicht richtig

    Code:
    $sqlinsert = 'INSERT INTO werte 
                  values(benutzername, passwort, name, vorname, geburtsdatum, straße, plz, ort, email)
                 ($benutzername,$passwort,$name,$vorname,$Geburtsdatum, $strasse,$plz,$ort,$email)';
    - VALUES ist an der falsche Stelle
    - Spalte 'straße' ist gefährlich, da es sich um ein Sonderzeichen handelt, lieber 'strasse' verwenden
    - Die Variablenwerte werden nur von PHP eingesetzt, wenn der $sqlinsert String in "" gesetzt wird.
    - Die Variablenwerte sind Strings, müssen also im SQL in '$name' gesetzt sein.

    Code:
    $sqlinsert = "INSERT INTO werte 
                  (benutzername, passwort, name, vorname, geburtsdatum, strasse, plz, ort, email) VALUES
                 ('$benutzername','$passwort','$name', etc....)";
    Schau Dir mal die Grundlagen an...

    Grüße
    Thomas

    Kommentar


    • #3
      Zitat von aschunk Beitrag anzeigen
      Hallo,

      ich bekomme bei meinem SQL Code oben genannten Fehler:

      PHP-Code:
      $username 'root';
        
      $passwort '';
        
      $host 'localhost';
        
      $datenbank 'werte';
        
      ...........
      .........
        
      $verbindung mysql_connect($host$username,$passwort);
        if(
      $verbindung){
        
        
      $ergebnis mysql_select_db($werte,$verbindung);
      ......... 
      Mein PHP und die insert Anweisungen scheinen soweit richtig.

      Ich weiß nicht wieso ich den Fehler bekomme. Muss ich die Datenbank erst mit use auswählen?

      $datenbank = 'werte';
      aber
      $ergebnis = mysql_select_db($werte,$verbindung);

      ....

      korrekt wäre:
      PHP-Code:
      $ergebnis mysql_select_db($datenbank ,$verbindung); 

      Kommentar


      • #4
        was soll denn das:
        $username = 'root';
        $passwort = '';
        ...
        $username = $_POST['benutzername'];
        $passwort = $_POST['passwort'];

        Kommentar


        • #5
          Hallo,

          ich habe jetzt glaube ich die gröbsten Fehler rausgeschmissen.

          Ich lasse mir jetzt Meldungen ausgeben:

          PHP-Code:
          $username 'root';
            
          $passwort '';
            
          $host 'localhost';
            
          $datenbank 'homepagedanniel';
            
            
          $benutzername $_POST['benutzername'];
            
          $pass $_POST['passwort'];
            
          $name $_POST['name'];
            
          $vorname $_POST['vorname'];
            
          $Geburtsdatum $_POST['geburtsdatum'];
            
          $strasse $_POST['straße'];
            
          $plz $_POST['plz'];
            
          $ort $_POST['ort'];
            
          $email $_POST['email'];
            
            echo 
          'Daten in Datenbank eintragen';
            
            
          $verbindung mysql_connect($host$username,$passwort);
            if(
          $verbindung){
            
             
          $ergebnis mysql_select_db($datenbank,$verbindung);
              
            if(
          $verbindung){
            echo 
          '<p>Verbindung hergestellt</p>';
            
          $sqlinsert "INSERT INTO werte values(benutzername, passwort, name, vorname, geburtsdatum, straße, plz, ort, email)($benutzername,$pass,$name,$vorname,$Geburtsdatum$strasse,$plz,$ort,$email)";
            
          $ergebnis mysql_query($sqlinsert$verbindung); 
            echo 
          '<p>Daten in Tabelle eingefügt</p>';
             }
             else
               echo 
          'Fehler bei Abfrage insert: ' mysql_errno();
             }
             else
               echo 
          'Fehler bei Verbindungsaufbau: ' mysql_errno();
            
               
             
               echo 
          '<p>Datenbank $datenbank für Ausgabe auswählen</p>';
               echo 
          '<p>Daten ausgeben.</p>'
              
               
              
               
                echo 
          'Verbindung hergestellt für Datenausgabe';
              
                
              
          $sqlselect "SELECT * FROM werte";
              
          $ergebnis mysql_query($sqlselect,$verbindung);
              echo 
          '<p>Daten aus Datenbank ausgewählt</p>';
              if(
          $ergebnis){
                 echo 
          'Werte aus Datenbank';
                 
                 while(
          $zeile mysql_fetch_row($ergebnis)){
                     for(
          $i 0$i mysql_num_fields($ergebnis); $i++)
                       echo 
          'Wert 1: ' $zeile[$i] . '<br />';
                       
                 } 
                 
          mysql_free_result($ergebnis);
              }
              else
                echo 
          'Fehler beim Lesen von Datenbank: ' mysql_errno() . mysql_error(); 
          Beim Einfügen der Daten scheint jetzt soweit alles in Ordnung. Nur beim Ausgeben bekomme ich jetzt wieder die gleiche Fehlermeldung.

          Irgendwo wird da die Datenbank nicht ausgewählt.

          Kommentar


          • #6
            Zitat von aschunk Beitrag anzeigen
            Beim Einfügen der Daten scheint jetzt soweit alles in Ordnung. Nur beim Ausgeben bekomme ich jetzt wieder die gleiche Fehlermeldung.

            Irgendwo wird da die Datenbank nicht ausgewählt.
            Es "scheint"?
            PHP-Code:
            $verbindung mysql_connect($host$username,$passwort);
            if(
            $verbindung) {
              
              
            $ergebnis mysql_select_db($datenbank,$verbindung);
                
              if(
            $verbindung) {
                echo 
            '<p>Verbindung hergestellt</p>';
                
            $sqlinsert "INSERT INTO werte values(benutzername, passwort, name, vorname, geburtsdatum, straße, plz, ort, email)($benutzername,$pass,$name,$vorname,$Geburtsdatum$strasse,$plz,$ort,$email)";
                
            $ergebnis mysql_query($sqlinsert$verbindung); 
                echo 
            '<p>Daten in Tabelle eingefügt</p>'
            Du fragst nicht ab, ob mysql_select_db erfolgreich war UND du fragst nicht ab, ob das INSERT erfolgreich war.


            Gewöhn dir bitte ein paar Coding Conventions an, der Code ist kaum lesbar. Einrückung und Klammersetzung sind - gelinde gesagt - Kacke für jemanden, der sich selbst als Fortgeschritten einstuft.

            Die "erfolgsorientierte" Programmierung hat im übrigen einen kleinen Haken: Man läuft schnell in tiefe if-Verschachtelungen:
            PHP-Code:
            if ($blub) {
              if (
            $bla) {
                if (
            $whatever) {
                  
            // und so weiter und so fort...
                
            }
              }

            Bleib nach Möglichkeit auf einer Ebene. Frag Mißerfolg ab und reagier entsprechend (meistens Beendigung des Scripts oder Rücksprung aus Funktionen).
            PHP-Code:
            if (!$blub)
              die(
            'blub was false...');

            if (!
            $bla)
              die(
            'bla was false'); 
            just my 2 €ent
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar

            Lädt...
            X