我不确定“链接”是否是正确的术语,但我要问的是它是否有可能使PDO查询类似于此MySQLi查询......
$sql = mysqli_fetch_object($db->query("SELECT username FROM member WHERE userID = 1");
使用PDO我只能这样做
$sql = $db->query("SELECT username FROM member WHERE userID = 1");
$query = $sql->fetch(PDO::FETCH_OBJ);
是否可以“链接”(如果有更好的术语,请纠正我)PDO的查询或否?
答案 0 :(得分:6)
不幸的是,方法链接仅适用于query()
方法,但不适用于准备/执行。
所以,为了这个目的,我建议用一个像这个
这样的小辅助函数来扩展PDOpublic function run($sql, $bind = array())
{
$stmt = $this->prepare($sql);
$stmt->execute($bind);
return $stmt;
}
所以你可以像
一样使用它$sql = "SELECT username FROM member WHERE userID = ?";
$name = $db->run($sql, [1])->fetchColumn();
答案 1 :(得分:3)
你试过吗
$query = $db->query("SELECT username FROM member WHERE userID = 1")->fetch(PDO::FETCH_OBJ);
答案 2 :(得分:0)
2018
您实际上可以链接准备好的插入和更新:
$data = $pdo->prepare('INSERT INTO `data` (data_key, data_value) VALUES (:data_key, :data_value)')->execute($args);
$data = $pdo->prepare('UPDATE `data` SET data_value = :data_value WHERE data_key = :data_key'->execute($args);
您不能在准备好的选择中链接执行