mysql-can';t使用php将数据插入数据库


mysql - can't insert data into database with php

我试图用PHP将用户添加到我的MYSQL数据库中,但不知怎么的,它不起作用。检查下面的脚本。我做错了什么?

<html>
<head>
</head>
<body>
<form action="index2.php" method="post">
Voornaam: <input type="text" name="voornaam"><br />
<input type="submit" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {
$con = mysql_connect("localhost","hakan","hakan");
if (!$con) {
die ("Can not connect: " . mysql_error());
}
mysql_select_db("projectfys",$con);
$sql = "INSERT INTO gebruikers (voornaam) VALUES ('voornaam')";
mysql_query($sql,$con);
mysql_close($con);
}
?>
</body>
</html>

$con需要放在的第一位

例如

mysql_select_db($con,'db');
mysql_query($con,$sql);

到处改变方向。

此外,将所有内容更改为mysqli,您可以找到大量针对mysqli或PDO 的教程

这个块应该看起来像(使用mysqli):

$con = new mysqli("localhost","hakan","hakan","projectfys");
 $con -> set_charset ( 'utf8' );
            if ($con->connect_errno) {
            printf("Connect failed: %s'n", $con->connect_error);
            exit();}

mysqli_query($con, "INSERT INTO gebruikers (voornaam) VALUES ('voornaam')");

$con -> close();

编辑

通过查询,您将始终在表中插入字符串"voornaam"。

你需要做这之前:

$voornaam = $_POST['voornaam'];
$voornaam = mysqli_real_escape_string($con,$voornaam);

将其添加到连接之后和查询之前。在查询中,将第二个"voornaam"替换为"$voornaam"

mysqli_query($con, "INSERT INTO gebruikers (voornaam) VALUES ('$voornaam')");