为了清楚了解以下代码,我在每行旁边都做了评论,并在需要帮助的地方提出问号
$sql = 'SELECT * FROM users'; // Select all data
$query = $this -> conn -> prepare($sql); // Connects to server and executes select all query
$query -> execute(array(':email' => $email)); // ????
$data = $query -> fetchObject(); // Stores the results on the executed query in $data??
答案 0 :(得分:1)
execute是获取sql。
:email => $email
这是绑定到$email
变量的电子邮件。
SELECT * FROM users where email = :email
答案 1 :(得分:1)
':电子邮件' => $ email部分绑定任何$ email到sql语句中的:email param。由于您的SQL语句没有:电子邮件部分,因此无法执行任何操作。
此示例显示了如何使用它:
$email = 'myEmail@aol.com';
$sql = 'SELECT * FROM users where email = :email';
$query = $this->conn->prepare($sql);
$query->execute(array(':email' => $email));
$data = $query->fetchObject();
答案 2 :(得分:1)
$ email用$ email变量替换你的':email'。
在您的情况下,由于您没有任何参数标记,您可以直接执行查询而无需任何参数绑定。
$sql = 'SELECT * FROM users';
$query = $this -> conn -> prepare($sql);
$query -> execute();
$data = $query -> fetchObject();