Update上的PHP语法错误

时间:2015-12-07 01:55:01

标签: php mysql

嘿伙计们,我的更新表单上一直出现错误,这让我感到疯狂。我无法弄清楚它在哪里?任何帮助将不胜感激。

<?php
include 'connect.php';
?>
<form action = 'updateclient.php' method= 'post'>

Select an ID: <input type="text" name="id"><br>
Update Name: <input type="text" name="name"><br>
Update Phone: <input type= "text" name ="phone"><br>
Update Email: <input typer = "text" name="email"><br>

<input type="submit" value="Submit">
</form>
<?php

$sql = "UPDATE Client SET name ='".$_POST['name']."',phone='".$_POST['phone']."',email ='".$_POST['email']."'" ;
$sql.= "WHERE ID = '"$_POST['id']"'";

$result = @mysqli_query($connect,$sql);
?>

2 个答案:

答案 0 :(得分:0)

$sql.= "WHERE ID = '"$_POST['id']"'";

应该是

$sql.= "WHERE ID = '" . $_POST['id'] . "'";

正如其他人所说,这是完全不安全的。阅读SQL注入。

答案 1 :(得分:0)

您确实应该包含错误消息的文本。帮助我们帮助你。

但是让我猜一想。打印出$sql变量。我想你会发现WHERE之前没有空格字符可能会导致解析你的SQL语句失败。在WHERE之前添加一个空格,它可能会有用。

请注意,@ chris85是1000%正确,此代码不安全,受SQL注入可能导致数据库失效。