2013-10-28 65 views
0

我在sql插入查询中收到消息“Undefined index:name ...”。mysql查询中未定义的索引

$sql="INSERT INTO user (name) VALUES ('".$_POST['name']."')"; 

有人能告诉我什么是错?

好吧,这里是(额外)代码:

$name=(isset($_POST['name'])); 
$sql="INSERT INTO user (name) VALUES ('".$_POST['name']."')"; 

<form action="index.php" method="post" id="enterForm"> 
<p>Enter username:</p> 
<input type="text" name="name" id="name" /> 
<input type="submit" name="enter" id="enter" value="OK" /> 
</form> 
+0

调用此语句时,在$ _POST中没有'name'字段。 – andrewsi

+0

没有什么在$ _POST,在查询之前使用if isset(... – Mihai

+0

可以显示你的HTML代码???,错误表示你的表格没有发布值名 –

回答

0

尝试这样

if(isset($_POST['name'])) 
{ 
//Sanitize $_POST['name'] before directly inserting it to the table 
$sql="INSERT INTO user (name) VALUES ('".$_POST['name']."')"; 
} 
else 
{ 
echo "No data"; 
} 
+0

可能是消毒吗? –

+0

是的汉克。^ _^ –

2

你是不是有name名称发送场,所以你不能从$_POST得到它。

另外,千万不要这样做!你不能相信任何用户输入。首先进行过滤,或者更好地使用准备好的语句。

+0

@Hanky感谢您的编辑;) –

+0

干杯,很好的答案。 –