Toon posts:

[php mysql] krijg niets toegevoegd aan database

Pagina: 1
Acties:

Verwijderd

Topicstarter
maak een database aan met de volgende waarden

CREATE TABLE email(id int DEFAULT'0' NOT NULL auto_increment,
name VARCHAR(75) , email VARCHAR(50),
PRIMARY KEY(id));

ik maak een html pagina met de volgende formulier waarden en verwijs deze naar een joinnewsletter.php pagina voor de verwerking

<form action = "joinnewsletter.php" method = "post">
<table>
<tr><td>
Name : </td>
<td><input type = "text" name = "name">
</td></tr>
<tr><td>
Email :
</td>
<td><input type = "text" name = "email">
</td></tr>
<tr><td>
<input type = "submit" value = "join"></td>
<td><input type = "reset" value = "clear"></td></tr>
</table>
</form>

om vervolgens de waarden toe te voegen aan de database met de volgende code > joinnewsletter.php

<?php
//make a connection
$connection = mysql_connect("localhost" , "root")
or die("cannot make connection");
//select our database email
$db = mysql_select_db("email" , $connection)
or die("cannot find database");
//insert the values of our form into our database
$sql_query = "INSERT INTO email VALUES (\"$name\",\"$email\")";
$results = mysql_query($sql_query);
//display a thank you message and a link
echo ("bedankt<br>");
echo ("<a href = 'index.htm'>terug naar index pagina</a>");
?>

om vervolgens de toegevoegde waarden te bekijken in een andere php pagina
shownewsletter.php

<html>
<head></head>
<body>
<?php
//shownewsletter.php
//shows all current subscribers to our newsletter
//make a connection
$connection = mysql_connect("localhost" , "root")
or die("cannot make connection");
//select or database
$db = mysql_select_db("email", $connection)
or die("cannot find database");
//create our sql query
$sql_query = "SELECT * FROM email";
//execute query
$result = mysql_query("$sql_query");
//now display the results on the page
echo ("<table border ='1' width = '60'>");
//loop through our email table
while ($rows = mysql_fetch_row($result))
{
//$rows[0] is our name and $rows[1] is our email
echo ("<tr><td>$rows[0]</td><td>$rows[1]</td></tr>");
}
?>
</body>
</html>

bekijk ik nu de nieuwe waarden in de database dan zie ik dat deze helemaal geen waardes bevat!
wat doe ik fout?!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Een heleboel.. Ga je script eens debuggen.. Kijk welke query je nu naar de DB stuurt (druk 'm eersty eens af voor je hem uitvoerd) kijk ff of de query wel goed gaat en druk desnoods ff de foutmelding af (want die krijg je) met mysql_error(). Daarnaast is het handig om je code tussen [ php] tags te zetten.. Meer over dit alles inde quickstart en de faq.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
Verwijderd schreef op 17 september 2002 @ 11:59:
maak een database aan met de volgende waarden

CREATE TABLE email(id int DEFAULT'0' NOT NULL auto_increment,
name VARCHAR(75) , email VARCHAR(50),
PRIMARY KEY(id));

[...]
wat doe ik fout?!
Een database is wat anders dan een tabel. Hoe heet je database, en hoe heet je tabel (waarschijnlijk email)?

Post ff je evt. foutmeldingen !

Verwijderd

Het lijkt me bovendien ook niet verstandig om op je db in te loggen als "root"

  • re.run
  • Registratie: Maart 2002
  • Laatst online: 20-08 15:30
Heb alleen naar het insert stuk gekeken en je zou het volgende eens kunnen proberen:

Jouw code
code:
1
2
3
...
$sql_query = "INSERT INTO email VALUES (\"$name\",\"$email\")";
...


Nieuwe code
code:
1
2
3
...
$sql_query = "INSERT INTO email (name, email) VALUES ('$name', '$email')";
...


Later

none


Verwijderd

Nog beter, escape je strings

PHP:
1
$query = "INSERT [blaat] VALUES ('".$name."','".$blaat."','".$etc"')";

Verwijderd

PHP:
1
2
3
<?
$query = "INSERT [blaat] VALUES ('".$name."','".$blaat."','".$etc."')";
?>


Anders krijgt 'ie nog een error ;)
Pagina: 1