Phpmyadmin MySQL语法

Phpmyadmin MySQL语法,php,sql,forms,Php,Sql,Forms,如果像这样的值:'s-Gravenhage将提交到我的数据库中 然后表单未提交,我看到一个错误: 错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第2行“s-Gravenhage”、“0”、“0”、“19.05”附近使用的正确语法 没有:-和“的其他值没有问题 我认为这是因为 如何在phpmyadmin中修复此问题 这是一个动作表单的send.php $link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD); if (

如果像这样的值:'s-Gravenhage将提交到我的数据库中

然后表单未提交,我看到一个错误:

错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第2行“s-Gravenhage”、“0”、“0”、“19.05”附近使用的正确语法

没有:-和“的其他值没有问题

我认为这是因为

如何在phpmyadmin中修复此问题

这是一个动作表单的send.php

$link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD); 

if (!$link) { 
die('Could not connect: ' . mysql_error()); 
} 

$db_selected = mysql_select_db(DB_NAME, $link); 

if (!$db_selected) { 
die('Can\'t use ' . DB_NAME . ': ' . mysql_error()); 
} 



$value = $_POST['firstname']; 
$value2 = $_POST['lastname']; 
$value3 = $_POST['city']; 


$sql = "INSERT INTO orders (firstname, lastname, city)
VALUES ('$value', '$value2', '$value3'')";



if (!mysql_query($sql)) { 
die('Error: ' . mysql_error());

见下面修订的代码。在查询中使用之前,需要对每个输入进行消毒。这也是出于安全原因。在这里阅读更多关于这方面的信息


你需要逃避你的输入。看到这里非常感谢,但是我需要把mysql\u real\u escape\u string函数放在哪里?你可以发布用于进行查询的代码吗?当然可以,我会马上编辑帖子哇,非常感谢!它起作用了!愿上帝保佑你!祝你今天愉快,乔治!ByeeNo问题,欢迎使用堆栈溢出
$link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD); 

if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

$db_selected = mysql_select_db(DB_NAME, $link); 

if (!$db_selected) { 
    die('Can\'t use ' . DB_NAME . ': ' . mysql_error()); 
} 

$value = mysql_real_escape_string($_POST['firstname']); 
$value2 = mysql_real_escape_string($_POST['lastname']); 
$value3 = mysql_real_escape_string($_POST['city']); 

$sql = "INSERT INTO orders (firstname, lastname, city) VALUES ('$value', '$value2', '$value3')";

if (!mysql_query($sql)) { 
    die('Error: ' . mysql_error());
}