Php 将数据插入SQL表时出错

Php 将数据插入SQL表时出错,php,mysql,sql-server,Php,Mysql,Sql Server,当我试图从html表单插入数据时,我收到了这个错误 Error: INSERT INTO uren (aantaluren, projectname, datum) VALUES ('6','dropdown','2017-02-10' You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use

当我试图从html表单插入数据时,我收到了这个错误

Error: INSERT INTO uren (aantaluren, projectname, datum) VALUES ('6','dropdown','2017-02-10'
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 2
这是我试图添加数据的页面的代码:

<?php
session_start();
require_once(dirname(__FILE__)."/simpleusers/su.inc.php"); 

$mysqli = mysqli_connect("localhost","root","","urenregistratie"); 
$sqlSelect="SELECT name, projectId FROM projecten";
$result = $mysqli -> query ($sqlSelect);

while ($row = mysqli_fetch_array($result)) {
echo "option value='" . $row['name'] . "'>" . $row['projectId'] . "</option>";
} 

$SimpleUsers = new SimpleUsers();

// This is a simple way of validating if a user is logged in or not.
// If the user is logged in, the value is (bool)true - otherwise (bool)false.
if( !$SimpleUsers->logged_in )
{
    header("Location: login.php");
    exit;
}

// If the user is logged in, we can safely proceed.
$users = $SimpleUsers->getUsers();


if ($mysqli->connect_error) {
die("Connection failed: ". $mysqli->connect_error);
}

if(isset($_POST['new']) && $_POST['new']==1)
{

$aantaluren =$_REQUEST['aantaluren'];
$datum =$_REQUEST['datum'];
$projectname = $_REQUEST['projectname'];

$sql = "INSERT INTO uren (aantaluren, projectname, datum)
VALUES ('$aantaluren','$projectname','$datum'";

if ($mysqli->query($sql) === TRUE) {
    echo "Uren succesvol toegevoegd. <a href='overzicht.php'> Bekijk     overzicht</a>";
} else {
    echo "Error: " . $sql . "<br>" . $mysqli->error;
}}


?>


<!DOCTYPE html>
<html>
<head>
    <title>Toevoegen</title>
    <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <div class="form">
            <p>
                <a href="dashboard.php">Dashboard</a> | <a href="view.php">Projecten inzien</a> | <a href="logout.php">Loguit</a>
            </p>

            <div>
                <h1>Voeg uren toe</h1>

                <form action="uren.php" method="post">  
                    <input type="hidden" name="new" value="1" />
                    <p>Aantal uren</p><p>
                        <input name="aantaluren" type="number" min=1 max=24> 
                        </p>
                        <select name="projectname"/>

                        <?php
                    $sql = mysqli_query($mysqli, "SELECT name FROM projecten");
                    while ($row = $sql->fetch_assoc()){
                        echo "<option value=\"dropdown\">" . $row['name'] . "</option>";
                        }
                    ?>

                    </select>
                    <p>Datum</p>
                    <p>
                        <input type="date" name="datum" placeholder="datum" required />
                    </p>
                    <p>
                        <input name="submit" type="submit" value="Voeg toe" />
                    </p>
                </form>

            </div>
        </div>
    </body>
</html>

我已经在这上面呆了大约两天了,我似乎不明白为什么它不起作用。请帮助

您忘记关闭insert语句的括号。完成了

正确格式:


插入到uren()值()

您没有关闭括号

$sql = "INSERT INTO uren (aantaluren, projectname, datum)
VALUES ('$aantaluren','$projectname','$datum')";

它在您的错误中声明,它的语法错误

非常感谢您,它终于将它添加到了数据库中。现在我发现了另一个问题。我有一个下拉菜单在那里,但当我选择的东西,它总是添加名称“下拉”,而不是在下拉菜单中选择的选项。您知道问题是什么吗?听起来您需要将下拉列表中的值更改为指定的字符串:例如value=“exampleString”@ErikVenema在
value
属性中给出行的值,或者删除
value
属性,因为默认情况下显示的值将被添加
echo”“$行['name']。"";$sql = "INSERT INTO uren (aantaluren, projectname, datum)
VALUES ('$aantaluren','$projectname','$datum')";