Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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插入准备的stmt_Php_Mysql_Model View Controller_Prepared Statement - Fatal编程技术网

php插入准备的stmt

php插入准备的stmt,php,mysql,model-view-controller,prepared-statement,Php,Mysql,Model View Controller,Prepared Statement,我的代码如下所示: $sql_ = $this->db->prepare("SELECT * FROM user"); $sql_->execute(); $user = $sql_->fetchAll(); $sql_insert_blog = $this->db->prepare("INSERT INTO blog

我的代码如下所示:

$sql_ = $this->db->prepare("SELECT * FROM user");
        $sql_->execute();
        $user = $sql_->fetchAll();

        $sql_insert_blog = $this->db->prepare("INSERT INTO
                                              blog
                                              (blog_title,blog_author,blog_content,blog_tags,blog_create,blog_update)
                                              VALUES
                                              (:1,:2,:3,:4,:5,:6)");
        $sql_insert_blog->execute(array(
                                        ":1"=>$title,
                                        ":2"=>$author,
                                        ":3"=>$content,
                                        ":4"=>$tags,
                                        ":5"=>$date_create,
                                        ":6"=>$date_update
                                        ));
因此,第一条sql语句用于证明数据库连接是否处于活动状态。当我使用

print_r($user)
第二个是尚未执行的语句

我有一个控制器,在一个模型上调用这个函数,并提供从表单到这个函数的所有信息,如

function newBlogEntry()


{

$title = $_POST["input_blog_title"];
$author = $_POST["input_blog_author"];
$content = $_POST["input_blog_content"];
$tags = $_POST["input_blog_tags"];
$date_create = date('m/d/Y h:i:s a', time());
$date_update = $date_create;

$this->model->newBlogEntry($title,$author,$content,$tags,$date_create,$date_update);


}
这个模型上的函数实际上被调用了。我可以从数据库中选择所有用户

我allready检查了所有参数,并且每个参数都可以为null,因此,即使表单是emtpy,它也应该是数据库中的一个插入项(这只是为了测试)

但是数据库中没有条目


所以我的问题是:我做错了什么?

MySQL似乎不喜欢您的日期值。根据文档,MySQL中日期字符串的默认格式为
YYYY-MM-DD HH:MM:SS
;类似于此的字符串将自动解析为日期。

使用
(?,?,,,,,,,,,?)
而不是
(:1,:2,:3,:4,:5,:6)

$sql\u insert\u blog->execute(数组($title、$author、$content、$tags、$date\u create、$date\u update)); 及
日期应该是带有
Y-m-d H:i:s的字符串
php
date()
format

这会产生任何错误消息吗?检查服务器的
error.log
文件以确定。@Darwin分析错误:分析错误,应为
“标识符(T\u字符串)”或
“名称空间(T\u名称空间)”或“\\(T\u分隔符)”,以免忘记在catch stmt中放置异常。。。我也不例外。只是出于好奇,如果你为两个日期字段传递NULL,为所有其他字段传递真实数据,会发生什么?现在它可以工作了!!!日期的格式不正确…->“2015年5月12日12:15:42上午”
$sql_insert_blog->execute(array($title, $author, $content, $tags, $date_create, $date_update));