我正在使用学说从我的 MySQL 数据库中获取数据。这一切都在 Silex 中完成。这些是为我启用 Doctrine 的代码行。
$config = new \Doctrine\DBAL\Configuration();
$connParams = array(
'driver' => 'pdo_mysql',
'dbname' => 'webshop',
'host' => 'localhost',
'user' => 'root',
'password' => '',
'charset' => 'utf8'
);
$conn = \Doctrine\DBAL\DriverManager::getConnection($connParams, $config);
$app['dbcon'] = $conn;
$app->get('/', function () use ($app){
$user = new User($app['dbcon']);
return $app['twig']->render('home.twig', [
'content' => 'Home',
]);
})->bind('home');
我正在尝试为登录内容等创建一个用户类。用户类如下所示:
<?php
namespace Models;
class User
{
private $db;
public function __construct($db)
{
$this->db = $db;
$query = $this->db->prepare("SELECT * FROM users");
$query->execute();
$query = $query->fetchAll();
foreach($query as $user){
print_r($user);
}
}
}
尽管如此,结果如下:
数组([id] => 1 [用户名] => araguera [密码] => 密码[盐] => ksjdfiwe98ru2w98h)
为什么它作为一个数组而不是一个对象返回?因为我希望能够执行诸如“$query->username”之类的操作。
要添加到 u_mulder 的评论中,您可以使用PDO
style 将结果作为对象获取:
$res = $query->fetchAll(\PDO::FETCH_OBJ);
如果您想使用fetch
(获得一行),您可以使用:
$res = $query->fetchObject();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句