喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [问题] 数据库备份错误提示:Call to a member function FetchRow() on a non-object  
 
chaizx (chaizx)
高级会员
Rank: 4
初级会员



UID 24298
精华 1
积分 528
帖子 241
金钱 518 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2003-11-1
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
数据库备份错误提示:Call to a member function FetchRow() on a non-object

Fatal error: Call to a member function FetchRow() on a non-object in E:\APMServ5.2.0\www\htdocs\mycms\admin\adminfun.php on line 464

代码如下:

<?php
function databak($table//备份数据库结构和所有数据
{
    global 
$DB;
    
$sql "DROP TABLE IF EXISTS $table;n";
    
$createtable $DB->Execute("SHOW CREATE TABLE $table");
    
$create $createtable->FetchRow();
    
$sql .= $create[1].";nn";

    
$rows $DB->Execute("SELECT * FROM $table");
    
$numfields $rows->FieldCount();
    
$numrows $rows->RecordCount();
    while (
$row $rows->FetchRow())
    {
        
$comma "";
        
$sql .= "INSERT INTO $table VALUES(";
        for(
$i 0$i $numfields$i++) 
        {
            
$sql .= $comma."'".mysql_escape_string($row[$i])."'";
            
$comma ",";
        }
        
$sql .= ");n";
    }
    
$sql .= "n";

    return 
$sql;
}
?>
第464行是$create = $createtable->FetchRow();处!

[ 本帖最后由 chaizx 于 2007-4-15 09:40 AM 编辑 ]
2007-4-15 09:27 AM#1
查看资料  Blog  发短消息  QQ  顶部
 
chaizx (chaizx)
高级会员
Rank: 4
初级会员



UID 24298
精华 1
积分 528
帖子 241
金钱 518 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2003-11-1
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
请高手们指点,谢谢!
2007-4-15 09:39 AM#2
查看资料  Blog  发短消息  QQ  顶部
 
fly512 (我本如是)
版主
Rank: 7Rank: 7Rank: 7
人生的另一半


UID 42566
精华 0
积分 2489
帖子 2373
金钱 1759 喜悦币
威望 0
人脉 730
阅读权限 100
注册 2004-10-31
来自 亚特兰迪斯
状态 离线
[推荐阅读] 想换工作了
疑惑不少,请把数据库操作类贴上来



不要使用数据库
PHP中国
2007-4-15 09:40 AM#3
查看资料  访问主页  Blog  发短消息  顶部
 
chaizx (chaizx)
高级会员
Rank: 4
初级会员



UID 24298
精华 1
积分 528
帖子 241
金钱 518 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2003-11-1
状态 离线
[推荐阅读] 我学网张专业的
我使用的是adodb,语句是:

<?php
include_once(MYCMS_PATH.'./admin/config.php');//包含配置文件
include_once(MYCMS_PATH.'./include/smarty/Smarty.class.php');//加载smarty
include_once(MYCMS_PATH.'./include/adodb/adodb.inc.php');//加载adodb
include_once(MYCMS_PATH.'./include/codelib/pager.class.php');//加载分页类
include_once(MYCMS_PATH.'./include/codelib/function.php');//加载常用函数文件
include_once(MYCMS_PATH.'./include/codelib/randcheckcode.class.php');//加载随机验证码类文件
$DB=ADONewConnection($dbtype);#建立一个mysql连结
$DB->Connect($dbhostname,$dbusername,$dbpassword,$dbname);//连接数据库
?>
2007-4-15 09:42 AM#4
查看资料  Blog  发短消息  QQ  顶部
 
fly512 (我本如是)
版主
Rank: 7Rank: 7Rank: 7
人生的另一半


UID 42566
精华 0
积分 2489
帖子 2373
金钱 1759 喜悦币
威望 0
人脉 730
阅读权限 100
注册 2004-10-31
来自 亚特兰迪斯
状态 离线
[推荐阅读] 上海服务器托管,上海电信机房,上海双线机房-13916184021-李亮
先申明,我没用过adodb,只是曾经看过一点文档

程序因该是没有问题的,请检查
$DB->Execute("SHOW CREATE TABLE $table");
$table在该数据库中是否确实存在。




不要使用数据库
PHP中国
2007-4-15 10:16 AM#5
查看资料  访问主页  Blog  发短消息  顶部
 
era
高级会员
Rank: 4


UID 84851
精华 0
积分 567
帖子 749
金钱 567 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-12-15
状态 离线
[推荐阅读] 我的套件安装出问题了
你应该判断返回的是不是一个对象,而不是主观假设它就是一个对象
在Execute失败的情况下,一般情况下,都会返回一个假值出来




怀念我的家乡-火星
2007-4-15 11:52 AM#6
查看资料  发短消息  顶部
 
唠叨 (唠叨)
版主
Rank: 7Rank: 7Rank: 7
版主



UID 9955
精华 0
积分 1479
帖子 1546
金钱 1479 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2001-10-27
状态 离线
[推荐阅读] 请教高手帮忙讲讲这个代码
$DB=ADONewConnection($dbtype, 'pear');#启用PEAR兼容模式
2007-4-15 06:53 PM#7
查看资料  Blog  发短消息  顶部
 
chaizx (chaizx)
高级会员
Rank: 4
初级会员



UID 24298
精华 1
积分 528
帖子 241
金钱 518 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2003-11-1
状态 离线
[推荐阅读] 关于发送Email的问题


QUOTE:
原帖由 唠叨 于 2007-4-15 06:53 PM 发表
$DB=ADONewConnection($dbtype, 'pear');#启用PEAR兼容模式
这个不行的!
2007-4-16 08:20 PM#8
查看资料  Blog  发短消息  QQ  顶部
 
chaizx (chaizx)
高级会员
Rank: 4
初级会员



UID 24298
精华 1
积分 528
帖子 241
金钱 518 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2003-11-1
状态 离线
[推荐阅读] select 语句求助
5,6楼说的思路不错,我正在调试中..
2007-4-16 08:22 PM#9
查看资料  Blog  发短消息  QQ  顶部
 
chaizx (chaizx)
高级会员
Rank: 4
初级会员



UID 24298
精华 1
积分 528
帖子 241
金钱 518 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2003-11-1
状态 离线
[推荐阅读] 刚学PHP 请教个问题,请指教??
在foreach函数外输出数组,数据完整,但是在foreach中数据却不完整,只是一个部分而已

在foreach函数外输出数组,数据完整,但是在foreach中数据却不完整,只是一个部分而已,
我把代码帖上来,大家帮看一下:

<?php
//开始执行备份数据库
if ($_POST['madbak']) 
{
    
$tables $_POST['table'];
    
$bakname addslashes($_POST['bakname']);    
    
var_export($tables);
    
    if (
$_POST['saveto'] == 'server'
    {    
//备份到服务器
        
$sqldump '';
        foreach(
$tables as $key=>$table
        {
            
var_export($table);
            
$sqldump .= databak($table); 
        }
?>
var_export($tables)和var_export($table)的结果却不相同,请教高手是怎么回事?

[ 本帖最后由 chaizx 于 2007-4-16 10:24 PM 编辑 ]
2007-4-16 10:22 PM#10
查看资料  Blog  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.027466 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP