为什么我的代码没有将数据插入mysql表?

时间:2014-02-26 00:02:30

标签: php mysql

我正在尝试使用一个带有表单的简单网页来更新我的mysql表的一个单元格。我不确定为什么它不会将数据发送到我的桌子。我有两个网页。 form.php和process.php。下面是各自的代码。

form.php的

<!DOCTYPE HTML PUBLIC
<html>
<head>
      <title></title>
 </head>

<body>

<!-- form to get key detail of record in database -->
<form method="POST" action="process.php"> 
<input type="text" name="inputtest" />
<input type="submit" name"submitButton" value="Submit!" /> 
</form> 

<?php
   $inputtest = $_POST["inputtest"];
?>

</body>
</html>

process.php

<?php
$con=mysqli_connect("localhost","root","********","allstate");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM producers");
?>
<?php 
UPDATE producers
    SET TEST={$inputtest}
    [WHERE ID=1]
?> 

1 个答案:

答案 0 :(得分:2)

因为您尝试直接在PHP中编写SQL而不是像在SELECT查询中那样构建字符串并将其传递给mysqli_query

你第一次就做对了。更改SQL的第二位以遵循第一位的模式。

其次,您尝试将显示表单的页面中提交的表单数据($inputtest = $_POST["inputtest"];)分配给用户,而不是从表单处理请求的页面。将该代码移动到另一页。

请注意,将用户输入直接注入到这样的SQL语句中会使您易受SQL injection attacks 的攻击,而这需要defend