我一直在寻找15分钟左右,找不到任何可以解决这个问题的事情。很抱歉,如果我只是使用了错误的关键字或已经回答的问题。同样要说明这不是一件非常安全的事情,因为任何人都可以看到这一点。
所以我的PHP Post不会插入到MySQL数据库中。
形式:
<form method="post" action="./thankyou.php">
<h2>Please sign in</h2>
<input type="user"name="user" placeholder="Username">
<input type="textarea" class="" name="feedback" placeholder="Feedback for us."><br />
<button class="" type="submit" name="submitted">Submit Feedback</button>
</form>
谢谢:(是的,我用信息替换了xxx)
<?php
$conn = mysql_connect('xxx', 'xxxx', 'xxxx');
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("xxx") or die(mysql_error());
$user = $_POST['user'];
$fdb = $_POST['feedback'];
$insert = "INSERT INTO contact WHERE (user, feedback) VALUES ('".$user."', '".$fdb."')";
mysql_query($insert);
if(!$insert)
{
die('Could not enter data: ' . mysql_error());
}
echo $insert;
?>
Echo正确输出:
INSERT INTO contact WHERE (user, feedback) VALUES ('thisisauser', 'thisisfeedback')
我不知道该怎么做。
答案 0 :(得分:1)
根据定义,插入没有where子句。
按如下方式更改您的查询:
INSERT INTO contact (user, feedback) VALUES ('thisisauser', 'thisisfeedback')
或者,你可以使用这个结构:
INSERT INTO contact SET user = 'thisisauser' , feedback = 'thisisfeedback'
最后,这是坏的安全性。使用其他database API
答案 1 :(得分:0)
你不需要提供WHERE插入其不正确的
应该是
$insert = "INSERT INTO contact (user, feedback) VALUES ('".$user."', '".$fdb."')";
你有
$insert = "INSERT INTO contact WHERE (user, feedback) VALUES ('".$user."', '".$fdb."')";
^.........here is the issue
答案 2 :(得分:0)
主要问题是SQL查询以及检查查询正确执行的方式
<?php
$conn = mysql_connect('xxx', 'xxxx', 'xxxx');
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("xxx") or die(mysql_error());
$user = $_POST['user'];
$fdb = $_POST['feedback'];
$insert = "INSERT INTO contact (user, feedback) VALUES ('".$user."', '".$fdb."')";
$retval = mysql_query($insert, $conn);
if(!$retval) { //<---- You must check the result of the execution
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";