所以这是我的代码:
$satake = $_POST['satake'];
$id = $_POST['id'];
$query ="INSERT INTO `fn`('satake', 'id') VALUES ('{$satake}' , {$id} )";
if (mysql_query($query)){
echo 'goof';
header("Location : home.php");
exit;
} else{
echo 'error';
echo '</ br>';
echo mysql_error();
}
问题是,当我第一次运行代码时,除了:
之外,它没有给我任何错误errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''satake', 'id') VALUES ('' , )' at line 1
但是当我改变一件事并将其恢复到原来的位置时,它给了我这个:
Notice: Undefined index: satake in
Notice: Undefined index: id in
我的意思是,我的代码与第一眼看到的相同,但是当我更改任何内容并撤消我的更改时,它会给我2个新错误!
我的语法是否正常或我是否严重宣布了我的变种?
答案 0 :(得分:1)
尝试仅在设置POST
时调用变量,并将列名称括在反引号中而不是引号中,如:
if($_POST)
{
$satake = $_POST['satake'];
$id = $_POST['id'];
$query ="INSERT INTO `fn`(`satake`, `id`) VALUES ('{$satake}' , {$id} )";
^
if (mysql_query($query)){
echo 'goof';
header("Location : home.php");
exit;
} else{
echo 'error';
echo '</ br>';
echo mysql_error();
}
}
答案 1 :(得分:1)
你在查询中犯了语法错误
"INSERT INTO `fn`(`satake`, `id`) VALUES ('".$satake."' , $id )";
正确的方式