PHP MySQL Insert Data
Im trying to insert data into a table in MySQL. I found/modified some code from w3Schools and still couldn't get it working. Heres what I have so far:
<?php
$rusername=$_POST['username'];
$rname=$_POST['name'];
$remail=$_POST['emailadr'];
$rpassword=$_POST['pass'];
$rconfirmpassword=$_POST['cpass'];开发者_运维知识库
if ($rpassword==$rconfirmpassword) {
$con = mysql_connect("host","user","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydbname ", $con);
}
mysql_query("INSERT INTO members (id, username, password)
VALUES ('4', $rusername, $rpassword)");
?>
Did I mistype something? To my understanding "members" is the name of the table. If anyone knows whats wrong I appreciate the help.
Thanks
The query resulted from your code is:
INSERT INTO members (id, username, password) VALUES ('4', rusername, rpassword)
Note that in SQL string must be surrounded by '
.
So update your code to this:
mysql_query("INSERT INTO members (id, username, password)
VALUES ('4', '$rusername', '$rpassword')");
And your database name?
mysql_select_db("mydbname ", $con);
Even though it's called mydbname there's a weird space char in there..
You can also do
mysql_query("use mydbname", $con);
EDIT
Try to include the database connection flag in the query, and also replace '4' (that as nico said if it's an autoincrement key [id], it must be an integer, without quotes) by null:
mysql_query("INSERT INTO members VALUES
(null, '$rusername', '$rpassword');", $con);
精彩评论