PHP Webservice mySQL查询 - 一般解释

时间:2017-02-08 01:51:36

标签: php web-services

为了清楚了解以下代码,我在每行旁边都做了评论,并在需要帮助的地方提出问号

$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??

3 个答案:

答案 0 :(得分:1)

execute是获取sql。

:email => $email这是绑定到$email变量的电子邮件。

顺便说一句,你没有电子邮件参数,为什么你需要bindparam?当你写一些像

这样的sql时,你需要绑定
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'。

See examples here

在您的情况下,由于您没有任何参数标记,您可以直接执行查询而无需任何参数绑定。

$sql = 'SELECT * FROM users';                   
$query = $this -> conn -> prepare($sql);         
$query -> execute();   
$data = $query -> fetchObject();