PDO::FETCH_ASSOC我想知道每次设置为默认值时是否需要使用ATTR_DEFAULT_FETCH_MODE?这是我的连接:$host = 'localhost';$db = 'test';$user = 'root';$pass = '';$port = '3308';$charset = 'utf8mb4';$dsn = "mysql:host=$host;dbname=$db;port=$port;charset=$charset";$options = [ \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, \PDO::ATTR_EMULATE_PREPARES => false,];try { $pdo = new PDO($dsn, $user, $pass, $options);} catch (\PDOException $e) { throw new \PDOException($e->getMessage(), (int)$e->getCode());}以及使用 fetch 的示例查询:$stmt = $pdo->prepare('SELECT * FROM users');$stmt->execute();$user = $stmt->fetch();和$user = $stmt->fetchAll();不写就够了吗$user = $stmt->fetchAll(PDO::FETCH_ASSOC);
1 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
fetch()
和的默认获取样式fetchAll()
是PDO::ATTR_DEFAULT_FETCH_MODE
(默认为PDO::FETCH_BOTH
)。
您正在设置PDO::ATTR_DEFAULT_FETCH_MODE
覆盖的连接设置PDO::FETCH_BOTH
。
因此,基本上您不需要在每个查询中指定获取样式。$user = $stmt->fetch();
或者$user = $stmt->fetchAll();
在你的情况下应该足够了。
- 1 回答
- 0 关注
- 134 浏览
添加回答
举报
0/150
提交
取消