为了澄清下面的代码,我在每行旁边做了评论,并在需要帮助的地方打了问号
$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??
$email用
$email变量替换你的":email"。
在此处查看示例
在您的情况下,由于您没有任何参数标记,因此可以直接执行查询,而无需任何参数绑定。
$sql = 'SELECT * FROM users';
$query = $this -> conn -> prepare($sql);
$query -> execute();
$data = $query -> fetchObject();
':email' => $email 部分将任何$email绑定到 sql 语句中的 :email 参数。由于您的 SQL 语句没有 :email 部分,因此这不会执行任何操作。
此示例显示了如何使用它:
$email = 'myEmail@aol.com';
$sql = 'SELECT * FROM users where email = :email';
$query = $this->conn->prepare($sql);
$query->execute(array(':email' => $email));
$data = $query->fetchObject();
执行正在获取sql。
:email => $email
这是将电子邮件绑定到$email
变量。
顺便说一句,你没有电子邮件参数,为什么你需要绑定参数?? 当你写一些SQL时需要绑定,比如
SELECT * FROM users where email = :email