You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , , )' at line 1 Code (markup): And here is my code. <?php $host = "localhost"; $dbuser = "a"; $dbpass = "a"; $dbname = "cashflik"; $ip = getenv("REMOTE_ADDR"); $connection = mysql_connect($host, $dbuser, $dbpass); $db = mysql_select_db($dbname, $connection); //grab data from form $name = $_POST[username]; $pass = $_POST[password]; $pass_conf = $_POST[pass_conf]; $email = $_POST[email]; $ip = $_POST[ip]; if($name == false || $pass == false || $pass_conf == false || $email == false){ echo "Please fill in all the required fields!"; } if($pass != $pass_conf){ echo "Passwords do not match!"; }else{ $connection = mysql_connect($host, $dbuser, $dbpass); $db = mysql_select_db($dbname, $connection); $sql = "INSERT INTO user (username, password, email, ip) VALUES ( " . $_POST[name] . ", " . $_POST[pass] . ", " . $_POST[email] . ", " . $_POST[ip] . ")"; //$sql = "INSERT INTO user (username,password,email,ip) VALUES ($_POST[name], $_POST[pass], $_POST[email], $_POST[ip])"; $result = mysql_query($sql) or die (mysql_error()); echo "Thank you for your registration to CashFlik.com"; } ?> Code (markup): WTF is going on here?
You need single quotes ( ' ) around your values: $sql = "INSERT INTO user (username, password, email, ip) VALUES ( '" . $_POST[name] . "', '