将名称插入数据库?

时间:2013-08-30 22:29:04

标签: php mysql

将PHP 5表单插入MySQL数据库的最佳方法是什么?

<form  action="script.php" method="post">
 <fieldset>
  <input id="name" type="text" placeholder="name" />
  <input type="submit" value="Opslaan" />           
 </fieldset>
</form>​    

我还在使用所有这些吗?

$name= $_POST['name'];  
$name = stripslashes($name);  
$name = mysql_real_escape_string($name);

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO names VALUES ('','$name')";
mysql_query($query);
mysql_close();

因为当我这样做时,脚本只输入ID,名称字段保持为空..

编辑:如何在PHP 5中使用PDO或mysqli(按最新标准)?

2 个答案:

答案 0 :(得分:2)

您需要输入您的姓名,名称为attribute =“name”即

<input type="text" id="name" name="name" placeholder="Enter your name" />

完全解决您的答案。

  • 在最新的PHP上不推荐使用mysql_ *库,不应该使用它。请改用PDO或MySQLi。感谢Prix指出了这一点。
  • 您需要清理用户提供的数据。之前已经问过这个问题,这里有一个很好的答案:What's the best method for sanitizing user input with PHP?
  • 你的_POST参数没有对你的名字输入做任何事情的原因是由于上面提到的事实。

答案 1 :(得分:0)

占位符attribut允许在html 5中将默认值放在表单的元素中。当元素具有焦点时,将删除此默认值。但在你的情况下,你忘记了attribut名称。试试这个:

<form  action="script.php" method="post">
 <fieldset>
  <input id="name" name="name" type="text" placeholder="Enter your name" />
  <input type="submit" value="Opslaan" />           
 </fieldset>
</form>​