如果像这个值:'s-Gravenhage这样的值将提交到我的数据库中
然后没有提交表单,我看到一个错误:
error :您的SQL语法有错误;请检查与MySQL服务器版本相对应的手册,以获得在“s-Gravenhage”、“0”、“0”、“0”、“19.05”附近使用的正确语法。在第2行
没有其他值:-和'没有问题!
我想是因为-
我如何在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());发布于 2015-05-19 03:47:50
请参阅下面的修订代码。在查询中使用之前,需要对每个输入进行清理。这也是出于安全原因。在这里阅读更多关于Injection的信息
$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());
}https://stackoverflow.com/questions/30316205
复制相似问题