在PHP中是什么意思?在PHP中=>是什么意思?

时间:2019-03-29 04:07:22

标签: php pdo

public function getProfile($user_id)
{
    $stmt = $this->_connection->prepare("SELECT * FROM Profile WHERE profile_id = :profile_id");
    $stmt->execute(['profile_id'=>$user_id]);
    $stmt->setFetchMode(PDO::FETCH_CLASS, "Profile_model"); //datatype user
    return $stmt->fetch(); //it should return a user
}

嗨,我在这里写代码的时候。 当我们准备PDO时,它是prepare("SELECT * FROM Profile WHERE profile_id = :profile_id");,为什么在profile_id前面呢?

$stmt->execute(['profile_id'=>$user_id]);,据我所知,=>类似于定义,因此左侧将是键,右侧将是值,所以这意味着profile_id变量将具有{ {1}}?

1 个答案:

答案 0 :(得分:1)

svg

由于这仍然是未准备好的语句,而:profile_id是占位符(您可以想到变量之类的东西),因此在此阶段查询如下:

$stmt = $this->_connection->prepare("SELECT * FROM Profile WHERE profile_id = :profile_id");

但是,当您运行SELECT * FROM Profile WHERE profile_id = (YOUR PROFILE ID HERE) 时,它将$stmt->execute(['profile_id'=>$user_id]);的值分配给占位符$user_id。假设:profile_id$user_id,查询将如下所示:

3

在使用关联数组时,SELECT * FROM Profile WHERE profile_id = 3 运算符将为键中的值赋值,所以您是对的。