我试图用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')");