本帖最后由 MMDD0827 于 2011-04-24 16:00:42 编辑

解决方案 »

  1.   

    <?php
    error_reporting(E_ALL);
    session_start();

    include 'class/data/OpenDataBase.php';
    class ProcessId {
        const Client=0;
        const SubCenter=1;
        const  Console=2;    
    }
    class KVTokens
    {
        
        public static function Add($ProcessId){
            try {
            $db=new OpenDataBase();
            $db=$db->Open() or die("打开数据库失败");
            $sessionId=session_id();
            $_SESSION['time']=time();
            $sql="INSERT INTO kv_tokens (TokenID,ProcessID,Ctime)VALUES($sessionId,$ProcessId,date(\"Y-m-d\"))";
            $count=$db->exec($sql);
            if($db->errorcode()!='00000')

    print_r($db->errorinfo()); //如果在执行SQL时错误打印错误信息!
    }

            }catch (PDOException $e){
              echo "Error:".$e->getmessage(); //加错误提示!
            }
            return $sessionId;
            
        }
        
    }
    var_dump(KVTokens::Add(2));
    ?>
    有改动红体,看着情况修改,自己适当增减语句,调试到合适的结果,反正测试不花钱,多试几次自己也能多学东西。对吧!
      

  2.   

    或者你也可以把这句
    $count=$db->exec($sql);
      if($db->errorcode()!='00000')
    {
    print_r($db->errorinfo()); //如果在执行SQL时错误打印错误信息!
    }
    改为:
           $db->query($sql2);//改为query执行方式,虽然书上规定query适合查询,但是插入也可以 !
    if($db->errorcode()!='00000')

    print_r($db->errorinfo());

    }
      

  3.   

    谢谢  是我的sql语句写错了而且数据库里边也有点错…… 
    汗~~ 
     现在改正了  好啦~~ 谢谢你!