链接PHP PDO查询

时间:2013-08-14 14:00:02

标签: php pdo mysqli chaining

我不确定“链接”是否是正确的术语,但我要问的是它是否有可能使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的查询或否?

3 个答案:

答案 0 :(得分:6)

不幸的是,方法链接仅适用于query()方法,但不适用于准备/执行。

所以,为了这个目的,我建议用一个像这个

这样的小辅助函数来扩展PDO
public 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);

您不能在准备好的选择中链接执行