2014-04-24 35 views
-1

我想获取POST'ed表单变量和mySQL在尝试插入时引发错误。我无法想象为什么我的生活。希望有人可以帮忙。MySQL语法错误与电子邮件

function submitFound(){ 
    global $dbc; 
    if ($_SERVER['REQUEST_METHOD'] == 'POST'){ 

     $query = 
     "INSERT INTO found1 
     (fname, lname, email, phone, name, color, make, model, sizes, info, location) 
     VALUES 
     (" . 
     mysql_real_escape_string($_POST['fname']) . "," . 
     mysql_real_escape_string($_POST['lname']) . "," . 
     mysql_real_escape_string($_POST['email']) . "," . 
     mysql_real_escape_string($_POST['phone']) . "," . 
     mysql_real_escape_string($_POST['name']) . "," . 
     mysql_real_escape_string($_POST['color']) . "," . 
     mysql_real_escape_string($_POST['make']) . "," . 
     mysql_real_escape_string($_POST['model']) . "," . 
     mysql_real_escape_string($_POST['size']) . "," . 
     mysql_real_escape_string($_POST['info']) . "," . 
     mysql_real_escape_string($_POST['location']). ")"; 
     $results = mysqli_query($dbc, $query); 
     check_results($results); 
     //return $mysqli_insert_id($dbc); 
     mysqli_free_result($results); 
    } 
} 

这是提交信息的函数。 (有关项目的一般信息,这是获得抛出的MySQL错误。

MySQL Error: 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 '@gmail.com,444-444-4444,Book,#000040,NA,NA,Large,Nothing special,Byrne House)' at line 4 

这是什么样的形式我输入。http://puu.sh/8l35Z.png

所以是的,任何帮助将是巨大的。不知道这是只是一些愚蠢的我的眼睛也开始交叉:第提前

感谢

编辑* 修正了弦,但我仍然得到一个错误: 新代码:

  $query = 
     "INSERT INTO found1 
     (fname, lname, email, phone, name, color, make, model, sizes, info, location) 
     VALUES 
     ('" . 
     mysql_real_escape_string($_POST['fname']) . "','" . 
     mysql_real_escape_string($_POST['lname']) . "','" . 
     mysql_real_escape_string($_POST['email']) . "','" . 
     mysql_real_escape_string($_POST['phone']) . "','" . 
     mysql_real_escape_string($_POST['name']) . "','" . 
     mysql_real_escape_string($_POST['color']) . "','" . 
     mysql_real_escape_string($_POST['make']) . "','" . 
     mysql_real_escape_string($_POST['model']) . "','" . 
     mysql_real_escape_string($_POST['size']) . "','" . 
     mysql_real_escape_string($_POST['info']) . "','" . 
     mysql_real_escape_string($_POST['location']). "')'"; 

MySQL错误:MySQL Error: 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 4

+0

你忘了在你的字符串引号值 –

+0

我固定的,但我仍然recieveing的错误。使用编辑更新原始帖子。 –

回答

1

正如约翰·孔德提到的,你需要添加在你的价值观行情,错误消息显示这一点。

@gmail.com,444-444-4444,Book,#000040,NA,NA 

通知书丢失的报价,它应该是这样的

'@gmail.com','444-444-4444','Book','#000040','NA','NA' 

试试这个

VALUES 
     ('" . 
     mysql_real_escape_string($_POST['fname']) . "','" . 
     mysql_real_escape_string($_POST['lname']) . "','" . 
     mysql_real_escape_string($_POST['email']) . "','" . 
+0

好吧,我这样做,但仍然收到错误。见上面的编辑。 –

+0

你不需要引用最后一个paren,只需在mysql_real_escape_string($ _ POST ['location'])里面。 “')”; – rmcfrazier