PHP 使用PDO连接MYSQL,用的版本是5.2.17的PHP,在WINDOWS环境下面可以正常,但是把我的程序传到服务器 50
上面的时候,就会有问题了,如$result=$dbh->query('select*fromnews');$result_row=$result->fetch();下面再...
上面的时候,就会有问题了,如
$result=$dbh->query('select * from news');
$result_row=$result->fetch();
下面再接foreach($dbh->query('select * from admin ') as $row){
echo $row['id']
}
在WINDOWS下完好,但是在LINUX下面会报错:Fatal error: Call to a member function fetch() on a non-object in subjectclass.php on line 9 展开
$result=$dbh->query('select * from news');
$result_row=$result->fetch();
下面再接foreach($dbh->query('select * from admin ') as $row){
echo $row['id']
}
在WINDOWS下完好,但是在LINUX下面会报错:Fatal error: Call to a member function fetch() on a non-object in subjectclass.php on line 9 展开
展开全部
从你的报错信息可以推测出原因是你的$result变量为false,导致fetch()不可用。
进一步是你的query()的返回值为false,看看是不是数据库连接没配置好,或news表中没有数据。
进一步是你的query()的返回值为false,看看是不是数据库连接没配置好,或news表中没有数据。
追问
你的这一个问题我有试过,第一个result=$dbh->fetch()是好的。当我用第二个$result2=$dbh->fetch的时候。就会出现non-object fetch()
起初我也以为这一个是我对数据库连接不当所致,但是后来我发现,就算我两个地方用同一个数学库,用同一个连接用户(连ROOT@%) 的账户都用过。还是不起作用
我用的是LNMP的一键安装包。可能是他的配置有问题。。我在我自己配的FREEBSD上面无问题
追答
因为我不知道你的配置情况,也不知道你的具体的程序代码,不过你在你自己配的FREEBSD上面无问题那证明程序应该没问题,可能就是php配置问题了,你可以考虑在linux上自己配一个环境试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也怀疑是数据库没接上
你是不是远程进数据库的代码错了
本地是-h localhost -uroot -p
但是服务器如果不是连自己的数据库是要改的
localhost应该改为数据库所在PC的IP地址
你是不是远程进数据库的代码错了
本地是-h localhost -uroot -p
但是服务器如果不是连自己的数据库是要改的
localhost应该改为数据库所在PC的IP地址
更多追问追答
追问
WINDOWS和LINUX使用的同一个连接数据库的CONN。参数一模一样。。连连接的用户名都一样;
起初我也以为这一个是我对数据库连接不当所致,但是后来我发现,就算我两个地方用同一个数学库,用同一个连接用户(连ROOT@%) 的账户都用过。还是不起作用
我用的是LNMP的一键安装包。可能是他的配置有问题。。我在我自己配的FREEBSD上面无问题
追答
你语法有问题,
$result_row=$result->fetch();
$result怎么会有fetch方法
新声明的$result,难道自带?
个人觉得应该是
$result_row=mysql_fetch_array($result);
试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询