php pdo连接mysql问题,请大家帮帮忙~~
php主程序代码:PHP code
这是我写的OpenDataBase类:
PHP code
以上代码对数据库的操作一直无效,也就是没法添加进数据
请大家帮帮我 这到底是怎么回事啊
现在运行也没有报错 ,但是为什么就是不能添加数据呢 ?
<?php 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("打开数据库失败"); session_start(); $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); }catch (PDOException $e){ } return $sessionId; } } var_dump(KVTokens::Add(2)); ?>
这是我写的OpenDataBase类:
PHP code
class OpenDataBase { public function Open(){ $dbh="mysql:host=localhost;dbname=kvnet"; $db=new PDO($dbh,'root','root'); $db->query("set character set 'utf-8'"); return $db; } }
以上代码对数据库的操作一直无效,也就是没法添加进数据
请大家帮帮我 这到底是怎么回事啊
现在运行也没有报错 ,但是为什么就是不能添加数据呢 ?
作者: MMDD0827 发布时间: 2011-04-24
<?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));
?>
有改动红体,看着情况修改,自己适当增减语句,调试到合适的结果,反正测试不花钱,多试几次自己也能多学东西。对吧!
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));
?>
有改动红体,看着情况修改,自己适当增减语句,调试到合适的结果,反正测试不花钱,多试几次自己也能多学东西。对吧!
作者: falizixun2 发布时间: 2011-04-24
或者你也可以把这句
$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());
}
$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());
}
作者: falizixun2 发布时间: 2011-04-24