views:

49

answers:

2

Hello,

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

+4  A: 

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')");
Am
I updated it but I still don't see a new listing in the db.
happyCoding25
please post your db schema
Am
I got it fixed thanks for the help
happyCoding25
A: 

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);
Hermet
I change it so It would be easier to read.
happyCoding25