虽然有数以百万计的关于MySQL和PHP的教程,但我决定以一种非常非常简单的方式制作我的教程。在你开始之前,你必须有一个关于MySQL的基本知识:
PHP文件连接的源代码
值得一提的是,我们将不会看到数据库、关系等方面的良好做法。我们将按原样使用这些表,而不看规范化,或类似的东西。
注意:本教程使用PDO,但请记住,我们也可以使用mysqli
函数。我个人推荐PDO,因为它是面向对象的。不过,我希望将来能写一个关于mysqli的教程。
数据库
我们必须创建一个数据库,在这个数据库中我们可以创建表。这个文件有数据库和表的定义。
正如你所看到的,我们将使用一个叫做mysql_tutorial
的数据库,我们将使用一个叫做person
的表。
你可以在你的MySQL控制台或phpmyadmin中粘贴该文件。在这个例子中,我们将只保存基本信息。
我们已经定义了表,但没有定义连接。我们需要定义一个带有用户、数据库和密码的文件。我的文件看起来像这样。
记住要根据你的系统来改变你的用户和密码。注意这个文件,因为我们将用它来与MySQL数据库交互。
要插入的表单
我们必须定义一个表单来询问用户的数据,为此我们只需要HTML。
表单action
是add.php
,我们将在这里处理数据并保存到MySQL表中。请检查我们是否将数值标记为required
,这样浏览器就会验证它们。
不要忘记使用post
方法,这样数据就会在请求正文中发送。
到目前为止,我们的表单看起来是这样的:
现在让我们看一下add.php文件。
向MySQL表插入数据
现在是使用PHP来保存表单的时候了。请看代码。
首先,我们通过使用isset
,确保表单有数据。如果其中一个字段不存在,我们调用exit
,这样脚本就会停止。
然后,我们包含数据库.php文件,当我们包含它时,我们可以访问它的变量(例如$database
)。然后我们准备一个语句,使用占位符?
,以防止sql注入。
请注意,这里我们使用的是插入语句。
当我们execute
语句时,数据才真正被插入,以与占位符相同的顺序传递真实数据。
我们保存结果,并根据其值显示一个结果。如果一切正常,你应该看到一个 "插入成功 "的消息,如果不是,请检查你的证书和代码。
选择数据,但首先是一个静态表格
我们可以使用一个表格来显示来自MySQL的数据,但首先我们必须知道如何呈现一个静态表格。我们可以像这样绘制一个基本的HTML表格。
如果你注意,要显示行,我们使用<tr>
,要显示行内的单元格,我们使用<td>
。如果你在浏览器中看到这个文件,它看起来像这样。现在我们必须找到一种方法来呈现这个表格,但要使用PHP。
使用PHP显示MySQL数据
首先,我们要做一个query
,从表中获取数据;通过使用PDO,我们可以将其作为一个数组获取。然后,我们只需要对数组进行迭代,并在每一步绘制一个<tr>
和<td>
s。
让我们看看代码。
我们再次包含database.php文件,然后我们进行查询,最后为了得到数组,我们调用fetchAll
。我们使用PDO::FETCH_OBJ
,将数据作为对象带来。
然后在第24行,我们做了一个循环,遍历了所有的数据。在每一步中,我们绘制一个新的行。
请注意,我们添加了两个链接:一个用于编辑,一个用于删除;而且我们在URL中传递了ID。
如果你执行这段代码,根据你拥有的数据,你应该看到这样的东西:
编辑表格
当我们点击编辑时,我们会看到另一个表单,与插入数据的表单类似,但输入的内容已经填好。
首先,我们做一个查询,根据id获得一条记录;我们使用select
语句,结合where
。由于我们在URL中传递变量,我们从$_GET
。
如果这个人不存在,我们就停止脚本。
然后我们再次显示表单,但用value
属性来填充输入。注意隐藏的输入,我们稍后将用它来更新记录(当我们处理表单时)。
现在表单的动作是update.php。如果你列出你的数据并点击编辑,你应该看到一个像这样的表单。
更新数据
这个文件和add.php一样,但现在我们执行一个update
,而不是insert
。代码看起来像这样。
我们再次包含数据库文件,并使用占位符准备一个语句,以防止sql注入。然后我们执行更新并显示结果。
如果你编辑一条记录,你应该看到一个 "已保存 "的信息;如果没有,请检查你的代码
删除数据
为了完成这个MySQL和PHP教程,我们必须看看如何删除;在这种情况下,为了简单起见,我们使用URL来删除一条记录。
代码非常简单,我们用WHERE
执行一个DELETE
语句;请注意,我们使用占位符来防止sql注入。
我们从$_GET
,然后执行一个语句,就这样。
总结
你可以在以下网站下载并查看完整的源代码 我的GitHub.