我试过重写代码,我已经查看过我以前成功的编码,我真的找不到问题..我疯了。
我正在尝试将一些数据从表单发布到数据库。
据我所知,我正确设置了数据库,但是每次都会使脚本失败。
数据库图片:http://imgur.com/F93A9ot
(sry语言是丹麦语。)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
// defining database information
define("HOSTNAME", "localhost");
define("MYSQLUSER", "admin");
define("MYSQLPASS", "admin");
define("MYSQLDB", "lynx");
// establishing database connection
if(isset($_POST['submit'])){
$connection = new mysqli(HOSTNAME, MYSQLUSER, MYSQLPASS, MYSQLDB);
$name = mysqli_real_escape_string($connection, $_POST['name']);
$price = mysqli_real_escape_string($connection, $_POST['price']);
$desc = mysqli_real_escape_string($connection, $_POST['desc']);
$insert = "INSERT into products (id, name, price, desc) VALUES (NULL, '$name', '$price', '$desc')";
if($connection->query($insert)) {
echo "Succes";
} else {
echo "Something went wrong";
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input type="text" name="name">
<input type="text" name="price">
<input type="text" name="desc">
<input type="submit" name="submit">
</form>
</body>
</html>
&#13;
你能看出我做错了吗?
答案 0 :(得分:3)
products (id, name, price, desc)
还试过阅读手册吗? desc
是 reserved word 。
如果你没有这段无用的代码
else {
echo "Something went wrong";
}
并且
else {
echo $connection-error;
}
你会发现自己
答案 1 :(得分:0)
desc
是mysql的反向关键字,您可以使用backtick
$insert = "INSERT into products (`id`, `name`, `price`, `desc`) VALUES (NULL, '$name', '$price', '$desc')";
答案 2 :(得分:0)
这是你的领域'desc'。 MYSQL不允许这样做,因为它是保留的。所以请重命名。它将解决您的问题。