【发布时间】:2018-12-09 15:31:27
【问题描述】:
我想制作一个表单,当用户键入一些输入时,程序会将其放入表中的数据库中。我正在使用 PDO 连接到数据库,但是当我输入某些内容时,它什么也没做。你能帮助我吗?我在代码中做错了什么?我有一个单独的 PDO 代码文件,我将它包含在 php 文件中。 PDO 代码:
<?php
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=music', 'kat', 'msc');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
我在 MySQL 中创建了数据库,并在里面创建了一个名为专辑的表。我希望用户输入艺术家姓名、歌曲和专辑编号,并自动将其保存在表格中。我的 PHP 代码:
<?php
require_once "pdo.php";
$sql= "INSERT INTO album(name, song, number) VALUES ( :nm, :sn, :nb)";
echo("<pre>\n".$stmt."\n</pre>\n");
$stmt = $pdo->prepare ($sql);
$stmt->execute(array(
':nm' => $_POST['name'],
':sn' => $_POST['song'],
':nb' => $_POST['number']));
}
$stmt = $pdo->query("SELECT name, song, number FROM album");
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
以及表单的代码:
<form method="post">
<p>Name:
<input type="text" name="name" size="60"/></p>
<p>Song:
<input type="text" name="song"/></p>
<p>Number:
<input type="text" name="number"/></p>
<input type="submit" value="Add">
</form>
当按下“添加”按钮时,我将对非空、整数等数据进行一些输入验证,但我还没有完成,因为我什至无法让简单的部分工作。我正在使用 xampp 和 MySQL 分开工作,我的 php 文件什么也没做。 我错过了什么?
【问题讨论】:
-
你的表单没有“动作”,所以它永远不会被执行。
-
投票为印刷错误。
-
我应该采取什么行动将其连接到数据库?
-
<form method="post" action="your_php_file.php">
标签: php mysql pdo database-connection