Datenbank connect MySQL/PhP: no database selected

juliank123

Neuer Benutzer
Beiträge
1
Hallo zusammen,

ich habe folgendes Problem, und zwar bin ich seit einiger Zeit am verzweifeln weil mir immer die selbe Fehlermeldung angezeigt wird. Am besten fange ich mal ganz von vorne an.

Ich versuche mich gerade an einer HTML-Seite auf der man Daten in ein Formular eingeben kann, diese Daten sollen dann in die Tabelle einer Datenbank eingefügt werden. Soweit so gut. Wenn es nur funktionieren würde.
Ich benutze das Programm USB-webserver mit phpMyAdmin.

Ich habe schon viele Lösungswege im Internet gefunden, jedoch führte bisher keiner zum Ziel.
Jedes mal wird die selbe Fehlermeldung angezeigt nachdem ich meine Daten ins Formular eingegeben habe. Die Fehlermeldung lautet: No database selected.

Hier mal der Code von der HTML (reg_one.html):
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Registrierung</title>
</head>
<body>
<h1>Registrierung</h1>
<div>
Hier koennen Sie sich registrieren:
</div>
<br>
    <table>
    <form action="reg_one.php" method="post">  
      <tr><td>Vorname:            </td><td><input type="text" name="vorname" /></td></tr>
      <tr><td>Nachname:            </td><td><input type="text" name="nachname" /></td></tr>
      <tr><td>Strasse:            </td><td><input type="text" name="strasse" /></td></tr>
      <tr><td>Hausnummer:       </td><td><input type="text" name="nummer" /></td></tr>
      <tr><td>PLZ:                </td><td><input type="text" name="plz" /></td></tr>
      <tr><td>Ort:                </td><td><input type="text" name="ort" /></td></tr>
      <tr><td>Geburtsdatum:     </td><td><input type="text" name="geb" /></td></tr>
    </table>
    
      <input type="submit" value="Registrieren" />
    </form>

<br>
<br>
<br>
<br>
<br>
Unter dem folgenden Link koennen Sie die Verbindung testen:
<a href="db_connect.php">Verbinden</a>
  
  
    </body>
</html>



Hier der Code von der php zum connecten der Datenbank (db_connect.php):
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Datenbank Verbindung</title>
</head>
<body>
<?php
$db_host = "localhost";
$db_user = "root";
$db_passwort = "usbw";
$db_name = "kloud";
$link = mysql_connect("$db_host","$db_user","$db_passwort");
if (!$link) {
    die ('Die Verbindung schlug fehl.: ' . mysql_error());
}
else
echo '<br><br>Verbindung zur Datenbank erfolgreich hergestellt.';
mysql_close($link);
mysql_select_db("$db_name");
?>
</body>
</html>



Und zuletzt noch die php mit den sql-Anweisungen etc. (reg_one.php):
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head><title>Registrierung</title></head>
<body>

  <h1>Registrierung abgeschlossen</h1>
  <h2>Sie können sich jetzt anmelden</h2>

    <?php
  
  
  
    include 'db_connect.php';
  
    $vorname = $_POST["vorname"];
    $nachname = $_POST["nachname"];
    $strasse = $_POST["strasse"];
    $nummer = $_POST["nummer"];
    $plz = $_POST["plz"];
    $ort = $_POST["ort"];
    $geb = $_POST["geb"];

  
    if(strlen($vorname)> 2 && strlen($nachname)> 2){
    $sql = 'INSERT INTO `kloud`.`adresse` (`vorname`, `nachname`, `strasse`, `nummer`, `plz`, `ort`, `geb`) VALUES
    ("'.$vorname.'", "'.$nachname.'", "'.$strasse.'", "'.$nummer.'", "'.$plz.'", "'.$ort.'", "'.$geb.'")';
  
    $submit = mysql_query($sql) or die("Fehler: ".mysql_error());
     echo '<br>Der Eintrag war erfolgreich';}
     else {
     echo '<br>Ihre Angaben sind fehlerhaft.';
}
echo '<a href="reg_one.html"><br>Zurück</a>';

    ?>
</body>
</html>

Ich danke euch jetzt schon mal für eure Antworten und hoffe endlich auf den richtigen Lösungsweg zu kommen :)

Lg Julian
 
Zuletzt bearbeitet:
Werbung:
$link = mysql_connect("$db_host","$db_user","$db_passwort");
if (!
$link) {
die (
'Die Verbindung schlug fehl.: ' . mysql_error());
}
else
echo
'<br><br>Verbindung zur Datenbank erfolgreich hergestellt.';
mysql_close($link);
mysql_select_db("$db_name");

Du sägst mit dem close() den Ast ab, auf dem Du sitzt, un dwunderst Dich, daß Du runterfällst. Davon abgesehen:

  • ist das massiv gefährlich, was Du macht, Hint: SQL-Injection
  • ist PHP hier OffTopic
  • ist die mysql - Extension in PHP seit Jahren deprecated und in aktuellen PHP-Versionen nicht mehr verfügbar, Du reitest also ein totes Pferd und sollttest nun absteigen.
 
Zurück
Oben