php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.04.2010, 08:02  
Neuer Benutzer
 
Registriert seit: 14.04.2010
Beiträge: 26
PHP-Kenntnisse:
Fortgeschritten
aschunk befindet sich auf einem aufstrebenden Ast
Standard 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?
aschunk ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.04.2010, 08:36  
thomas_w
Gast
 
Beiträge: n/a
Standard

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
  Mit Zitat antworten
Alt 22.04.2010, 09:28  
Neuer Benutzer
 
Registriert seit: 31.07.2008
Beiträge: 12
LoRd befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
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); 
LoRd ist offline   Mit Zitat antworten
Alt 22.04.2010, 09:47  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

was soll denn das:
$username = 'root';
$passwort = '';
...
$username = $_POST['benutzername'];
$passwort = $_POST['passwort'];
HPR1974 ist offline   Mit Zitat antworten
Alt 22.04.2010, 10:51  
Neuer Benutzer
 
Registriert seit: 14.04.2010
Beiträge: 26
PHP-Kenntnisse:
Fortgeschritten
aschunk befindet sich auf einem aufstrebenden Ast
Standard

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.
aschunk ist offline   Mit Zitat antworten
Alt 22.04.2010, 12:27  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
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.
lstegelitz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
[Erledigt] Im- / Export einer MySQL Datenbank amaier161 Datenbanken 5 19.07.2009 00:42
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
[Erledigt] Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
[Erledigt] MySQL Ausfallsicherheit einer Datenbank Datenbanken 2 08.06.2006 11:21
Probleme beim �bertragen an eine Mysql Datenbank Datenbanken 2 07.03.2006 21:26
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Solved] MySQL Anfrage Fehler :: (1064) PHP Tipps 2005-2 3 02.08.2005 09:46
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
Suspekter Fehler: Keine Rechte auf der Datenbank Datenbanken 5 20.04.2005 06:31
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
[Erledigt] MySQL fehler(?) Datenbanken 2 24.07.2004 20:10
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
keine datenbank ausgewählt, sql keine datenbank ausgewählt, http://www.php.de/datenbanken/67176-mysql-fehler-10046-keine-datenbank-ausgewaehlt.html, mysql fehler 1064, keine db ausgewählt, mysql keine datenbank, keine ausgewählt, mysql keine datenbank ausgewählt, php keine datenbank ausgewählt, mysql fehler keine datenbank ausgewählt, masql error 10046, kann über html keine datenbank auswählen, php mysql keine datenbank ausgewählt, mysql fehler: meldung: keine datenbank ausgewählt, sql fehler keine datenbank ausgewählt, fehlernummer 10046, mysql fehlercode ausgeben, sqlyog keine datenbank ausgewählt, gzcp keine datenbank ausgewählt, mysql fehler für fehlerhafte verbindung

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:15 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum