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

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
 11  1/2  1  2  > 
     
标题: [问题] pdo使用的一个问题  
 
diandong
新手上路
Rank: 1



UID 99666
精华 0
积分 18
帖子 49
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-10-11
状态 离线
pdo使用的一个问题

我有一个test数据库,里面有一个t表

执行下面的代码就是错误

<?php
$dbhost='localhost';
$dbuser='root';
$dbpass='root';
$dbname='test';
$dsn="mysql:host=$host;dbname=$dbdbname";
try {
    $db = new PDO($dsn, $dbuser, $dbpass);
}
catch (PDOException $e) {
die( $e->getMessage() );
}

foreach($db->query("SELECT * FROM t") as $row){
print_r($row);
}

?>

提示如下错误
Warning: Invalid argument supplied for foreach() in D:\webserver\www\fds\pdo.php on line 14
2008-5-15 10:37 PM#1
查看资料  发短消息  顶部
 
xinglu1983 (知知了了)
金牌会员
Rank: 6Rank: 6
知了老大


UID 81138
精华 0
积分 1962
帖子 234
金钱 1962 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-10-8
来自 北京
状态 在线
[推荐阅读] SEO交流群招兵拉马
$db->query("SELECT * FROM t") 返回的是个resource,不是array。



MagicLab.cn | 魔法工作室
2008-5-15 10:49 PM#2
查看资料  Blog  发短消息  QQ  顶部
 
diandong
新手上路
Rank: 1



UID 99666
精华 0
积分 18
帖子 49
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-10-11
状态 离线
[推荐阅读] 分组 查询
可以这样写的,网上的资料和php手册都支持这种写法
2008-5-15 11:22 PM#3
查看资料  发短消息  顶部
 
kts2tt
新手上路
Rank: 1



UID 116285
精华 0
积分 17
帖子 17
金钱 17 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-3-26
状态 离线
[推荐阅读] 获得此地址的正则表达式
$xxx=$db->query("SELECT * FROM t");
foreach($xxx->fetchall() as $row){
print_r($row);
}

我想这样应该才行吧。。。。
2008-5-16 08:36 AM#4
查看资料  发短消息  顶部
 
diandong
新手上路
Rank: 1



UID 99666
精华 0
积分 18
帖子 49
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-10-11
状态 离线
[推荐阅读] 四川绵阳市的cowboy兄弟在吗?
不可以
2008-5-16 11:55 AM#5
查看资料  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
☞风云山庄大少爷☜


UID 62639
精华 2
积分 14462
帖子 7382
金钱 14316 喜悦币
威望 20
人脉 126
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读] 请问如何获取来路截获路径


QUOTE:
原帖由 diandong 于 2008-5-15 23:22 发表
可以这样写的,网上的资料和php手册都支持这种写法
还真没见过




 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流) 寧可在嘗試中失敗,也不在保守中成功! 不為失敗找理由,只為成功找方法! 饿踢Blog
 
2008-5-16 01:31 PM#6
查看资料  访问主页  Blog  发短消息  顶部
 
diandong
新手上路
Rank: 1



UID 99666
精华 0
积分 18
帖子 49
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-10-11
状态 离线
[推荐阅读] Google美丽办公室背后的危机?
http://cn.php.net/pdo 上面有例子
2008-5-16 01:42 PM#7
查看资料  发短消息  顶部
 
xinglu1983 (知知了了)
金牌会员
Rank: 6Rank: 6
知了老大


UID 81138
精华 0
积分 1962
帖子 234
金钱 1962 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2006-10-8
来自 北京
状态 在线
[推荐阅读] 我为我的招聘贴表示仟悔!我错了。呜呜~~


QUOTE:
原帖由 diandong 于 2008-5-15 11:22 PM 发表
可以这样写的,网上的资料和php手册都支持这种写法
原来pdo的query返回的是一个对象,还真是可以这样,比较习惯用用prepare 再execute
仔细看了下lz的程序,发现这一行
$dsn="mysql:host=$host;dbname=$dbdbname";
最后那个变量的名字写错了,应该就是这里造成的吧~




MagicLab.cn | 魔法工作室
2008-5-16 02:51 PM#8
查看资料  Blog  发短消息  QQ  顶部
 
小傑
版主
Rank: 7Rank: 7Rank: 7
我不是版主



UID 74113
精华 0
积分 115
帖子 386
金钱 115 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-5-26
状态 离线
[推荐阅读] 帮忙优化一个sql语句吧,我有点晕
$query = $db->prepare("select id from table where companyid=:cid");

foreach ($db->query($sql) as $rows)
{       
        $query->execute(array(':cid' => $rows['id']));
        $result = $query->fetch();
}


呵呵,我的这个 直接 给我弹出了内存错误, foreach  可以这样写 , 循环里面出了问题  execute 不能循环执行?


我按LZ那样写没有出现问题

[ 本帖最后由 小傑 于 2008-5-16 02:58 PM 编辑 ]
2008-5-16 02:52 PM#9
查看资料  Blog  发短消息  顶部
 
diandong
新手上路
Rank: 1



UID 99666
精华 0
积分 18
帖子 49
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-10-11
状态 离线
[推荐阅读] 谁帮我找点n73不能登录qq的解决办法


QUOTE:
原帖由 xinglu1983 于 2008-5-16 02:51 PM 发表


原来pdo的query返回的是一个对象,还真是可以这样,比较习惯用用prepare 再execute
仔细看了下lz的程序,发现这一行
$dsn="mysql:host=$host;dbname=$dbdbname";
最后那个变量的名字写错了,应该 ...
是的,谢谢你
我自己太不细心了
2008-5-16 04:23 PM#10
查看资料  发短消息  顶部
 11  1/2  1  2  > 
     


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


 




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

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