如何使用PDO的PHP和MySQL教程

126 阅读3分钟

虽然有数以百万计的关于MySQL和PHP的教程,但我决定以一种非常非常简单的方式制作我的教程。在你开始之前,你必须有一个关于MySQL的基本知识:

MySQL and PHP connection using PDO

PHP文件连接的源代码

值得一提的是,我们将不会看到数据库、关系等方面的良好做法。我们将按原样使用这些表,而不看规范化,或类似的东西。

注意:本教程使用PDO,但请记住,我们也可以使用mysqli 函数。我个人推荐PDO,因为它是面向对象的。不过,我希望将来能写一个关于mysqli的教程。

数据库

我们必须创建一个数据库,在这个数据库中我们可以创建表。这个文件有数据库和表的定义。

正如你所看到的,我们将使用一个叫做mysql_tutorial 的数据库,我们将使用一个叫做person 的表。

你可以在你的MySQL控制台或phpmyadmin中粘贴该文件。在这个例子中,我们将只保存基本信息。

我们已经定义了表,但没有定义连接。我们需要定义一个带有用户、数据库和密码的文件。我的文件看起来像这样。

记住要根据你的系统来改变你的用户和密码。注意这个文件,因为我们将用它来与MySQL数据库交互。

要插入的表单

我们必须定义一个表单来询问用户的数据,为此我们只需要HTML。

表单actionadd.php ,我们将在这里处理数据并保存到MySQL表中。请检查我们是否将数值标记为required ,这样浏览器就会验证它们。

不要忘记使用post 方法,这样数据就会在请求正文中发送。

到目前为止,我们的表单看起来是这样的:

Form to save data into mysql using PHP

现在让我们看一下add.php文件。

向MySQL表插入数据

现在是使用PHP来保存表单的时候了。请看代码。

首先,我们通过使用isset ,确保表单有数据。如果其中一个字段不存在,我们调用exit ,这样脚本就会停止。

然后,我们包含数据库.php文件,当我们包含它时,我们可以访问它的变量(例如$database )。然后我们准备一个语句,使用占位符? ,以防止sql注入

请注意,这里我们使用的是插入语句。

当我们execute 语句时,数据才真正被插入,以与占位符相同的顺序传递真实数据。

我们保存结果,并根据其值显示一个结果。如果一切正常,你应该看到一个 "插入成功 "的消息,如果不是,请检查你的证书和代码。

选择数据,但首先是一个静态表格

我们可以使用一个表格来显示来自MySQL的数据,但首先我们必须知道如何呈现一个静态表格。我们可以像这样绘制一个基本的HTML表格。

如果你注意,要显示行,我们使用<tr> ,要显示行内的单元格,我们使用<td> 。如果你在浏览器中看到这个文件,它看起来像这样。static table using HTML现在我们必须找到一种方法来呈现这个表格,但要使用PHP。

使用PHP显示MySQL数据

首先,我们要做一个query ,从表中获取数据;通过使用PDO,我们可以将其作为一个数组获取。然后,我们只需要对数组进行迭代,并在每一步绘制一个<tr><td>s。

让我们看看代码。

我们再次包含database.php文件,然后我们进行查询,最后为了得到数组,我们调用fetchAll 。我们使用PDO::FETCH_OBJ ,将数据作为对象带来。

然后在第24行,我们做了一个循环,遍历了所有的数据。在每一步中,我们绘制一个新的行。

请注意,我们添加了两个链接:一个用于编辑,一个用于删除;而且我们在URL中传递了ID。

如果你执行这段代码,根据你拥有的数据,你应该看到这样的东西:

Select data using PHP and MySQL编辑表格

当我们点击编辑时,我们会看到另一个表单,与插入数据的表单类似,但输入的内容已经填好。

首先,我们做一个查询,根据id获得一条记录;我们使用select 语句,结合where 。由于我们在URL中传递变量,我们从$_GET

如果这个人不存在,我们就停止脚本。

然后我们再次显示表单,但用value 属性来填充输入。注意隐藏的输入,我们稍后将用它来更新记录(当我们处理表单时)。

现在表单的动作是update.php。如果你列出你的数据并点击编辑,你应该看到一个像这样的表单。

Form to edit MySQL data using PHP and PDO

更新数据

这个文件和add.php一样,但现在我们执行一个update ,而不是insert 。代码看起来像这样。

我们再次包含数据库文件,并使用占位符准备一个语句,以防止sql注入。然后我们执行更新并显示结果。

如果你编辑一条记录,你应该看到一个 "已保存 "的信息;如果没有,请检查你的代码

删除数据

为了完成这个MySQL和PHP教程,我们必须看看如何删除;在这种情况下,为了简单起见,我们使用URL来删除一条记录。

代码非常简单,我们用WHERE 执行一个DELETE 语句;请注意,我们使用占位符来防止sql注入。

我们从$_GET ,然后执行一个语句,就这样。

总结

你可以在以下网站下载并查看完整的源代码 我的GitHub.