Php 将数据插入SQL表时出错
当我试图从html表单插入数据时,我收到了这个错误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
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']。"";你们太棒了,非常感谢。它起作用了@affaz@ErikVenema欢迎:)
$sql = "INSERT INTO uren (aantaluren, projectname, datum)
VALUES ('$aantaluren','$projectname','$datum')";