Database vullen lukt niet

Status
Niet open voor verdere reacties.

antonwas

Gebruiker
Lid geworden
11 nov 2006
Berichten
254
Beste lezers,

Ik wil graag een database vullen met gegevens. De databse heb ik gemaakt met phpmyadmin. De inloggegevens voor de database staan in een los bestandje (db_adreslijst.php) Dit losse bestandje wordt geïnclud in het hoofdbestand. Het hoofdbestand heet invoeren.php en ziet er zo uit:

Code:
<?php
include("header.html");
include("db_adreslijst.php");

$mysql_id = mysql_connect("$dbhost", "$dbuser", "$dbpass");
mysql_select_db($db) or die("Er kon geen verbinding met de database worden gemaakt");

if (isset($_POST[invoeren])) {
  $naam = $_POST[naam];
  $voornaam = $_POST[voornaam];
  $straat = $_POST[straat];
  $nummer = $_POST[nummer];
  $postcode = $_POST[postcode];
  $plaats = $_POST[plaats];
  $telefoon_thuis = $_POST[telefoon_thuis];
  $telefoon_werk = $_POST[telefoon_werk];
  $gsm_1 = $_POST[gsm_1];
  $gsm_2 = $_POST[gsm_2];
  $email = $_POST[email];
  $sql = "INSERT INTO adressen (naam,voornaam,straat,nummer,postcode,plaats,telefoon_thuis,telefoon_werk,gsm_2,email,gsm_1) VALUES ('$naam','$voornaam','$straat','$nummer','$postcode','$plaats','$telefoon_thuis','$telefoon_werk','$gsm_2','$email','$gsm_1')";
  mysql_query($sql);
   
  $fout = mysql_errno($mysql_id);
  if (fout != 0) {
    $fout = mysql_errno($mysql_id);
    echo '<font color="#FF2306">' . $fout . '</font>';
    mysql_close($mysql_id);
    echo '</body></html>';
    exit;
  }
  else {
    echo '<div align="center"><h3>De gegevens werden succesvol naar de databse verstuurd</h3></div>';
  }  
} 
else {

}
?>

<form action="<?php echo $_SERVER[PHP_SELF];?>" method="POST">
<table>
<tr><td>Naam :</td><td><input type="text" name="naam"></td></tr>
<tr><td>Vooraam :</td><td><input type="text" name="voornaam"></td></tr>
<tr><td>Straat :</td><td><input type="text" name="straat"></td></tr>
<tr><td>Nummer :</td><td><input type="text" name="nummer"></td></tr>
<tr><td>Postcode :</td><td><input type="text" name="postcode"></td></tr>
<tr><td>Plaats :</td><td><input type="text" name="plaats"></td></tr>
<tr><td>Telefoon thuis :</td><td><input type="text" name="telefoon_thuis"></td></tr>
<tr><td>Telefoon werk :</td><td><input type="text" name="telefoon_werk"></td></tr>
<tr><td>Gsm 1 :</td><td><input type="text" name="gsm_1"></td></tr>
<tr><td>Gsm 2 :</td><td><input type="text" name="gsm_2"></td></tr>
<tr><td>E-mail :</td><td><input type="text" name="email"></td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td><input type="submit" name="invoeren" value="Gegevens invoeren"></td></tr>
</table>
</form>

<?php
include("footer.html");
?>

Wanneer ik de lijst invul en op verzenden druk ontstaat er geen foutmelding. Wanneer ik dan vervolgens naar phpmyadmin ga en ik klik op de tab 'verkennen' geeft hij aan dat de tabel adressen (waar de gegevens naar toe moeten) leeg lijkt.

Ik heb een foutafhandelinsfunctie ingebouwd, maar hij geeft geen fout. De verbinding met de database werkt ook goed, want hij ($mysql_id) geeft als reterunvulaue iets van Resource#id 5 of Resource#id6. Ik heb daarnaast verder ook al gekenen, maar ik kan niets vinden.

Groetjes,

Anton
 
Ik denk zelf dat het ligt aan je connectie met je database, maar heb je tekst en php niet gescheiden!
Je variabelen kloppen ook niet overal!

PHP:
<?php
include("header.html");
include("db_adreslijst.php");

/* DEZE GEGEGEVENS NOG EVEN INVULLEN:
$dbhost = "";
$dbuser = "";
$dbpass = "";
$db     = "";
*/


$mysql_id = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die("Er kan geen verbinding gemaakt worden met MySQL");
mysql_select_db($db) or die("Er kon geen verbinding met de database worden gemaakt");

if (isset($_POST[invoeren])) {
  $naam = $_POST[naam];
  $voornaam = $_POST[voornaam];
  $straat = $_POST[straat];
  $nummer = $_POST[nummer];
  $postcode = $_POST[postcode];
  $plaats = $_POST[plaats];
  $telefoon_thuis = $_POST[telefoon_thuis];
  $telefoon_werk = $_POST[telefoon_werk];
  $gsm_1 = $_POST[gsm_1];
  $gsm_2 = $_POST[gsm_2];
  $email = $_POST[email];
  $sql = "INSERT INTO adressen (naam,voornaam,straat,nummer,postcode,plaats,telefoon_thuis,telefoon_werk,gsm_2,email,gsm_1) VALUES ('".$naam."','".$voornaam."','".$straat."','".$nummer."','".$postcode."','".$plaats."','".$telefoon_thuis."','".$telefoon_werk."','".$gsm_2."','".$email."','".$gsm_1."')";
  mysql_query($sql);
   
  $fout = mysql_errno($mysql_id);
  if ($fout != 0) {
    $fout = mysql_errno($mysql_id);
    echo '<font color="#FF2306">'".$fout."'</font>'; //was: '$fout'
    mysql_close($mysql_id);
    echo '</body></html>';
    exit(); // was: exit;
  }
 
Laatst bewerkt:
Ik heb nu deze code:

Code:
<?php
include("db_adreslijst.php");

$mysql_id = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die("Er kan geen verbinding gemaakt worden met MySQL");
mysql_select_db($db) or die("Er kon geen verbinding met de database worden gemaakt");

if (isset($_POST[invoeren])) {
  $naam = $_POST[naam];
  $voornaam = $_POST[voornaam];
  $straat = $_POST[straat];
  $nummer = $_POST[nummer];
  $postcode = $_POST[postcode];
  $plaats = $_POST[plaats];
  $telefoon_thuis = $_POST[telefoon_thuis];
  $telefoon_werk = $_POST[telefoon_werk];
  $gsm_1 = $_POST[gsm_1];
  $gsm_2 = $_POST[gsm_2];
  $email = $_POST[email];
  $sql = "INSERT INTO adressen (naam,voornaam,straat,nummer,postcode,plaats,telefoon_thuis,telefoon_werk,gsm_2,email,gsm_1) VALUES ('".$naam."','".$voornaam."','".$straat."','".$nummer."','".$postcode."','".$plaats."','".$telefoon_thuis."','".$telefoon_werk."','".$gsm_2."','".$email."','".$gsm_1."')";
  mysql_query($sql);
   
  $fout = mysql_errno($mysql_id);
  if (fout != 0) {
    $fout = mysql_errno($mysql_id);
    echo '<font color="#FF2306">\'".$fout."\'</font>';
    mysql_close($mysql_id);
    echo '</body></html>';
    exit();
  }
  else {
    echo '<div align="center"><h3>De gegevens werden succesvol naar de databse verstuurd</h3></div>';
  }  
} 
else {

}
?>

De gegevens om in te loggen bij de database zitten in het bestandje db_adreslijst.php. Dit bestandje wordt gewoon ge-include, dus dat moet goed gaan. De code in dit bestandje is:

Code:
<?php
$dbhost = "localhost";
$dbuser = "antonwas";
$dbpass = "antonisgek";
$db = "adreslijst";
?>

Hij wil nog steeds geen gegevens in de tabel 'adreslijst' schieten.

Groet,

Anton
 
Verander de regel
PHP:
mysql_query($sql);
eens in
PHP:
mysql_query($sql) or die("Fout in query [$sql]: " . mysql_error());
Dan krijg je, als er iets misgaat, de foutmelding en de query te zien.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan