2016-11-05 70 views
-1

我有2个MySQL表 - membership和renewals2017。我想将一个名为$ email的变量设置为以下查询的值,但我不确定我是否正确地执行了此操作。这些表由会员表中的Member_ID和renewals2017表中的m_id内部连接。电子邮件的值位于成员资格表中。我想设置变量$ email的原因是因为我将使用该值发送电子邮件。这里是我的查询:设置一个等于Mysql查询结果的变量

SET $email = ("SELECT membership.E_Mail_Address FROM membership INNER 
JOIN renewals2017 ON renewals2017.m_id = membership.Member_ID";); 

如果有更好的方法来做到这一点,或这是不正确的,请让我知道。谢谢。

+0

首先你需要摆脱'SET'。然后,您循环成功的结果并从中获取电子邮件,然后将其分配给变量。使用'WHERE'子句,这对您有利。 –

+0

检查这个,它有一个简单的例子:http://php.net/manual/en/function.mysql-db-query.php –

+0

看看这里的例子http://codular.com/php-mysqli –

回答

0

在PHP中有(当前)没有关键字SET,所以只需通过为其分配一个值来声明变量。

使用mysqli_connect()连接到数据库,mysqli_query()进行查询,然后fetch_array()遍历每个返回的记录 - 参见下面的例子:

//update the parameters per your credentials below 
$connection = mysqli_connect("databaseServer", "userName", "password", "databaseName"); 
$query = $connection->query("SELECT membership.E_Mail_Address FROM membership INNER JOIN renewals2017 ON renewals2017.m_id = membership.Member_ID"); 
while($result = $query->fetch_array(MSQLI_ASSOC)) { 
    $email = $result['E_Mail_Address']; //one for each resulting record 
} 

你也可以创建连接的面向对象的风格 - 如下:

$mysqli = new mysqli("databaseServer", "userName", "password", "databaseName); 
相关问题