PHP和MySQL入门(12)
向数据库中插入数据
在这一节里,我们会看到我们会如何综合利用这些工具来让我们站点的访问者向数据库中添加他们自己的笑话。如果你喜欢挑战,你可以试试在向下看之前想想大致上应该怎么做。在这一节里只有很少新的东西。对于我们学过的东西来说,这只是一个简单的应用。
如果我们想要让访问者能够输入新的笑话,我们首先需要一个表单,这儿是这个表单的代码:
<FORM ACTION="<?php echo($PHP_SELF); ?>" METHOD=POST> <P>Type your joke here:<BR> <TEXTAREA NAME="joketext" ROWS=10 COLS=40 WRAP></TEXTAREA><BR> <INPUT TYPE=SUBMIT NAME="submitjoke" VALUE="SUBMIT"> </FORM> |
正如我们上面看到的那样,这个表单在提交时会载入同一个页面(因为我们在表单的ACTION属 性中使用了$PHP_SELF变量),但是在再次载入时请求 中包含了两个变量,首先是$joketext,这是在text域中输入的笑话的正文,另一个是$submitjoke,这个变量的值将始终 是"SUBMIT",这用来标志笑话已被提交。
要将已提交的笑话添加到数据库中,我们需要用mysql_query来运行一个INSERT查询,这个查询中将包含已经提交的$joketext变量的值:
if ("SUBMIT" == $submitjoke) { $sql = "INSERT INTO Jokes SET " . "JokeText='$joketext', " . "JokeDate=CURDATE()"; if (mysql_query($sql)) { echo("<P>Your joke has been added.</P>"); } else { echo("<P>Error adding submitted joke: " . mysql_error() . "</P>"); } } |
在全部的内容中只有SQL代码中出现了一个新的东西。在这里我们使用了一个MySQL函数 CURDATE()来将新插入数据库的笑话的JokeDate列 的值置为当前日期。事实上,MySQL有很多这样的函数,但是我们只会在使用到他们时才会介绍他们,要得到一个完整的函数的说明,你可以参看MySQL参 考手册。