【发布时间】:2013-08-20 01:40:23
【问题描述】:
我正在尝试创建一个自提交页面,该页面将创建一个供用户填写的表单。信息将存储在 MySQL 数据库中。该表单似乎正在工作,但由于某种原因,我无法将表单中的信息插入数据库。这是我所拥有的:
<!DOCTYPE html>
<html>
<head>
<title>MySQL Test</title>
</head>
<body>
<h1>MySQL Test</h1>
<?php
if($_SERVER["REQUEST_METHOD"] == "GET") {
?>
<form action="" method="post">
<input type="text" name="name" placeholder="Name" /><br />
<input type="submit" value="Send" />
</form>
<?php
} else if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
$server = new PDO("mysql:dbname=test;host=localhost", "root", "root");
$server->execute("INSERT INTO test ('name') VALUES $name;");
}
?>
</body>
</html>
我应该改变什么?
【问题讨论】:
-
拜托,学习使用prepared statements
-
您收到什么错误信息?
-
尝试在 INSERT 语句中引用
$name。 -
我没有收到任何错误,只是 MySQL 数据库表中没有数据。
-
为了更好地了解您的代码,您应该将其包装在 try/catch 中,例如:
try { $dbh = new PDO($dsn, $user, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }