我已经尝试了一切..我的表格不会发布到数据库..

时间:2015-05-21 12:28:16

标签: php html mysql database

我试过重写代码,我已经查看过我以前成功的编码,我真的找不到问题..我疯了。

我正在尝试将一些数据从表单发布到数据库。

据我所知,我正确设置了数据库,但是每次都会使脚本失败。

数据库图片: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;
&#13;
&#13;

你能看出我做错了吗?

3 个答案:

答案 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不允许这样做,因为它是保留的。所以请重命名。它将解决您的问题。