我试图将我已将$ tag命名为数组的输入爆炸,然后将该数组插入表tags
。
我有一个课程Global_
,有两个功能:post_main()
& post_tags()
。
在upload.php文件中,我一个接一个地使用它们,例如:
$Global_->post_main($_POST['title'], $_POST['subtitle'], $_POST['content'], time(), $_FILES["image-file"]["tmp_name"], $_POST['image-cred'],
'0', '0', '0', $uid);
$Global_->post_tags($_POST['tags'], $_POST['title']);
在课堂上,post_tags()
功能如下:
function post_tags($tags, $title) {
require "database.php";
$tag_array = explode(", ", $tags);
$tag_count = count($tag_array);
$pid_q = $db->prepare("SELECT * FROM `articles` WHERE `title` = '$title'");
$pid_q->execute();
$pid_i = $pid_q->fetch();
$pid = $pid_i['id'];
for($i=0;$i < $tag_count;$i++) {
$t_stmt = $db->prepare("INSERT INTO `tags` (tag, pid) VALUES (:tag, :pid)");
$t_stmt->bindParam(':tag', $tag_array[$i]);
$t_stmt->bindParam(':pid', $pid);
$t_stmt->execute();
}
}
tags
表格的布局为:id
,tag
和pid
- 这是其附加的文章的ID。
由于某些原因,该数据未被插入数据库,尽管该文章的信息是。知道为什么吗?
答案 0 :(得分:1)
由于这个原因,您的插入条件不会被执行(因为$tag_count > 0
根据您的问题):
for($i=0;$i >= $tag_count;$i++) {
应该是
for($i=0;$i < $tag_count;$i++) {