Php 查询表单到SQL错误
我正在尝试创建一个textarea以提交并查询到datbase中。现在我的查询中有了几个不同的元素,我还有一个图像下拉框,它在会话中为我提供图像URL。一旦我点击提交按钮,我想查询并将所有这些信息插入我的数据库。现在,我可以点击提交,它会重新加载页面,但是,没有任何内容提交到我的数据库。。。我是否错过了显而易见的事情Php 查询表单到SQL错误,php,html,mysql,sql,pdo,Php,Html,Mysql,Sql,Pdo,我正在尝试创建一个textarea以提交并查询到datbase中。现在我的查询中有了几个不同的元素,我还有一个图像下拉框,它在会话中为我提供图像URL。一旦我点击提交按钮,我想查询并将所有这些信息插入我的数据库。现在,我可以点击提交,它会重新加载页面,但是,没有任何内容提交到我的数据库。。。我是否错过了显而易见的事情 else if ($_GET['page'] === strval(2)){ if (isset($_POST['postbutton'])){
else if ($_GET['page'] === strval(2)){
if (isset($_POST['postbutton'])){
$articlepost = ($_POST['article']);
$pictureurls = "<br>".$_SESSION['urlpost'];
$thumbnail = 123;
$title = "HEY THERE";
$articlepostimg = $articlepost.$pictureurls;
$insertpost = $db->prepare("INSERT INTO posts (title,post,date_add,thumbnail) VALUES (:title,:post,:date_add,:thumbnail)");
$insertpost->execute(array(':title' => $title, ':post' => $articlepostimg, ':date_add' => $date_add, ':thumbnail' => $thumbnail));
}
else {
echo '<form method="POST" action="">';
echo '<textarea autofocus name="article" placeholder="Write your text here..." id="textareaarticle"></textarea>';
echo '<div id="dropbox">';
echo '<span class="message">Drop images here to upload.</span>';
echo '</div>';
echo '<script src="http://code.jquery.com/jquery-1.6.3.min.js"></script>';
echo '<script src="assets/js/jquery.filedrop.js"></script>';
echo '<script src="assets/js/script.js"></script>';
echo '<input type="submit" name="postbutton" value="Submit" /></form>';
}
}
else if($\u GET['page']==strval(2)){
如果(isset($_POST['postbutton'])){
$articlepost=($_POST['article']);
$pictureurls=“
”$\u会话['urlpost'];
$thumbnail=123;
$title=“你好”;
$articlepostimg=$articlepost.$pictureurls;
$insertpost=$db->prepare(“插入到帖子(标题、帖子、日期添加、缩略图)值(:标题、帖子、日期添加、缩略图)”);
$insertpost->execute(数组(“:title'=>$title':post'=>$articlepostimg'”:date\u add'=>$date\u add':thumbnail'=>$thumbnail));
}
否则{
回声';
回声';
回声';
echo“将图像放在此处以上载”;
回声';
回声';
回声';
回声';
回声';
}
}
您的$date\u add
变量未定义。至少,不是在你发布的代码中
只有这样才能阻止您的
INSERT
工作,除非您定义它 $date\u add
未定义。至少,不是在你发布的代码中。这将阻止你的插入工作。嗯,如果它没有定义,它会不会保持空白?我倾向于认为不会,除非你有一个列作为DATETIME
,但我对此持怀疑态度。不用它你能试试吗?或者将其定义为$date\u add=time()代码>或类似的东西。你说得对,我想是日期:)现在开始工作!如果你想发布答案,我会接受(离题),但你为什么要这样做($_GET['page']==strval(2))?您正在使用一个函数将数字转换为字符串,您正在比较字符串,并且您正在使用===当您知道两者都是字符串时。更好的建议(更安全):((int)$\u GET['page']==2)