<?php
date_default_timezone_set("PRC");
if(isset($_POST['submit'])){
$title=htmlentities($_POST['diaryTitle']);//获取日记标题
$content=htmlentities($_POST['textarea']);//获取日记内容
$datetime=date("Y-m-d").date("H:i:s");
$mysqli=new mysqli("localhost","root","secret","test");
if($mysqli->errno)
printf("connect error:%s",$mysqli->error);
$query="insert into diary(id,title,content,date) values
                           (1,$title,$content,$datetime)";//diary是表名,有四个字段,id,title,content,date
$result=$mysqli->query($query,MYSQLI_STORE_RESULT);

?>
语法上没有报错,但是phpmyadmin上就是没有记录,行数总为零,请各位帮忙看下

解决方案 »

  1.   

    //看看会不会输出错误信息
    if (!$result=$mysqli->query($query,MYSQLI_STORE_RESULT)) echo $mysqli->error;
      

  2.   

    恩恩,果然出错了
    “You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':23:42)' at line 1”能告诉我是哪错了么???
      

  3.   

    $datetime=date("Y-m-d H:i:s");
    另外,表中的date字段是什么类型的?
      

  4.   

    那改成4楼那样应该可以了,按你原来的写法$datetime=date("Y-m-d").date("H:i:s");组成的日期时间值是非法的,因为日期和时间之间少了个空格。
      

  5.   

    //改成这样呢?
    $query="insert into diary (id,title,content,date) values (1,'{$title}','{$content}','{$datetime}')";
      

  6.   

    个人认为问题出在:$query="insert into diary(id,title,content,date) values
                               (1,$title,$content,$datetime)";//diary是表名,有四个字段,id,title,content,date你的id字段是不是自动编号(auto_increment),如果你的id编号也是自动编号,你就不能用1,应该用NULL,最后应该变成:[code=PHP]$query="insert into `diary`(`id`,`title`,`content`,`date`) values
                               (NULL,'$title','$content','$datetime')";你复制上去看一下是否可以
      

  7.   

    上面有些问题,好像你写的时候中英文用错了,如(NULL,'$title','$content','$datetime')";
    左边的括号好像不一样,不是用英文的,好像你用中文的,所以最终应该是$query="insert into `diary`(`id`,`title`,`content`,`date`) values(NULL,'$title','$content','$datetime')";
      

  8.   

    后面的变量加个单引号好些吧。,$query="insert into `diary`(`id`,`title`,`content`,`date`) values(NULL,'$title','$content','$datetime')";
      

  9.   

    恩,加引号就对了,`diary`(`id`,`title`,`content`,`date`)上面的符号是什么?
      

  10.   

    上面的引号是tab键上面,ESC键下面的那个符号,跟~一起的,而不是单引号。别忘记给分