语法错误,IDK在哪里?

时间:2011-10-10 23:17:38

标签: php html mysql insert

<?php
include("../package/mysql-connect.php");      //connect- succeeds

          //cleanin' data
$username = trim(mysql_real_escape_string($_POST['username']));

$password = hash('sha512', $passround);

$fname = ucfirst(trim(mysql_real_escape_string($_POST['fname'])));
$lname = ucfirst(trim(mysql_real_escape_string($_POST['lname'])));
$gender = mysql_real_escape_string($_POST['gender']);
$email = mysql_real_escape_string($_POST['email']);
$bio = mysql_real_escape_string($_POST['bio']);
$interests = str_replace(',',':',mysql_real_escape_string($_POST['interests']));

      //the query - error is here i think O. o
mysql_query("INSERT INTO `kapip_data`.`userdata` (`id`, `username`, `password`, `fname`, `lname`, `gender`, `hidden`, `hide-gender`, `hide-name`, `bio`, `interests`, `email`) VALUES (NULL, $username, $password, $fname, $lname, $gender, '0', '0' , '0', $bio, $interests, $email)") or die(mysql_error());

      //close connection- succeeds
mysql_close($con);
?>

这一直在说:

  

您的SQL语法有错误;检查对应的手册       到您的MySQL服务器版本,以获得正确的语法       在'(兴趣显示在这里),(电子邮件显示在这里))''在第1行。

奇怪的是,我的所有数据都已正确转义和格式化。我似乎无法找到我的错误,如果我只是累了就是全部。此外,“@”登录电子邮件是否与插入失败有关?

1 个答案:

答案 0 :(得分:4)

请始终显示完成的查询。

但是,在这种情况下,很容易发现原因:你的参数缺少引号。

 VALUES (NULL, '$username', '$password', '$fname', .......