Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询表单到SQL错误_Php_Html_Mysql_Sql_Pdo - Fatal编程技术网

Php 查询表单到SQL错误

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'])){

我正在尝试创建一个textarea以提交并查询到datbase中。现在我的查询中有了几个不同的元素,我还有一个图像下拉框,它在会话中为我提供图像URL。一旦我点击提交按钮,我想查询并将所有这些信息插入我的数据库。现在,我可以点击提交,它会重新加载页面,但是,没有任何内容提交到我的数据库。。。我是否错过了显而易见的事情

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)