2014-02-26 93 views
-1

我想用一个简单的网页来更新我的mysql表格的一个单元格。我不知道为什么它不会将数据发送到我的表格。我有两个网页。 form.php和process.php。以下是各自的代码。为什么我的代码不能将数据插入到mysql表中?

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] 
?> 

回答

2

因为您正在尝试写你的SQL直接在PHP,而不是建立一个字符串,并将其传递给mysqli_query为你做你的SELECT查询。

你第一次就明白了。更改SQL的第二位以遵循第一个模式。

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

注意,直接注入用户输入这样的SQL语句将使你容易受到SQL injection attacks,你需要从defend自己。

+0

@ user2593697另请参阅http://www.phptherightway.com/#databases,了解有关避免SQL注入以及其他有用的PHP建议的类似讨论。 – contrebis

相关问题