PHP中PDO查询MySQL获取结果对象后如何提取第一个字段uid的值
解决方案
你调用fetch(PDO::FETCH_OBJ)返回的是标准类对象,直接访问对象对应的uid属性即可,赋值语句如下:
$uid = $userData->uid;
注意事项
- 建议先判断查询是否返回了有效数据,避免查询无结果时访问不存在的对象属性抛出警告,优化后的写法参考:
$stmt2->execute(); $userData = $stmt2->fetch(PDO::FETCH_OBJ); if ($userData) { $uid = $userData->uid; // 其余业务逻辑 } else { // 无匹配用户时的异常处理逻辑 }
- 额外注意你现有代码中
bindParam的第一个参数需要和SQL中的占位符保持一致,要补上冒号:
// 修正后的绑定语句 $stmt2->bindParam(":username", $username, PDO::PARAM_STR);
内容的提问来源于stack exchange,提问作者Pella Post
相关产品推荐
相关产品推荐

