帮忙看段函数,PDO不能执行

lornechang 2011-04-26 04:26:32
只能echo a,不能echo b,(倒数第4两边写*的行)。已经打开MySQL PDO.
	public function dbcon(){echo $this->strdbdir.$this->username;
try {
switch($this->strdbdir){
case'userreg':
$this->dbname="cai_userdb";
$this->tbname="user_np";
$this->dbuser="xxx";
$this->dbpw="111";
$this->query="INSERT INTO $this->tbname VALUES('$this->username', '$this->password')";
echo $this->query;
break;
case'addbmf':
$this->dbname="cai_bmfdb";
$this->tbname="user_np";
$this->dbuser="yyy";
$this->dbpw="000";
}
$dsn="host=localhost;user=$this->dbuser;password=$this->dbpw";echo $dsn;
echo "a";
/********/$objPDO= new PDO($dsn);echo"b";/**********/
$objStatement=$objPDO-query($this->query);
} catch (Exception $e) {echo "error:cannot connect to db"."<br/>";
}

/*********************************/
接着四楼直播...(一人只能连发3次)
看了manual之后吧dsn分开写了,$dsn=host;dbname;实例化的时候 new PDO($dsn,$username,$password).终于泥马和数据库接上了,但是...数据库里没有数据。。。。在找怎么回事。
(求问帖在大家睡觉的时候活活被我变成自问自答直播.....)

/*********************************/
怎么还没人回答呢?为什么数据库里没有数据呢?
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lornechang 2011-04-26
  • 打赏
  • 举报
回复
dsn格式解决了,现在又有这个问题:Access denied for user ''@'localhost' (using password: NO)。这我实在没办法了,单引号双引号“.”都用了,就是不能把变量传递到$dsn,难倒PDO不接受带变量的dsn?
lornechang 2011-04-26
  • 打赏
  • 举报
回复
把try移到后边,在catch内加上了$e->getMessage(),PDO反回:invalid data source name。发现没有加上protocol,dsn前边加上"mysql:"之后还是不行啊。
lornechang 2011-04-26
  • 打赏
  • 举报
回复
调试没有syntax错误,但是执行到echo a就停了。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧