如何通过电子邮件过滤从mySQL获取数据?

时间:2014-07-20 13:22:50

标签: php mysql email

我正在尝试从mySQL中获取数据,我想通过电子邮件过滤结果。 唯一的问题是,我想从预订数据库中获取数据,而用户的电子邮件则存储在不同的数据库中。

当用户预订会话时,将使用

获取他的电子邮件
  

<?= $fgmembersite->UserEmail(); ?>

并将其保存在reservation_email

下的预订数据库中

我尝试使用WHERE reservation_email = <?= $fgmembersite->UserEmail(); ?>

**我的问题是,我该怎么办,通过使用来自不同数据库的电子邮件地址过滤来将数据提取到表中? **

  <?php
     $dbhost = 'localhost';
     $dbuser = 'user';
     $dbpass = 'pwd';
     $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');

     $dbname = 'dbname';
     mysql_select_db($dbname);

    $query = "SELECT * FROM booking_reservation WHERE reservation_email='<?= $fgmembersite->UserEmail(); ?>' ";
    $result = mysql_query($query) 
     or die(mysql_error()); 
     print " 
     <table class='table table-striped'><tr> 
     <td width=100>Name:</td> 
    <td width=100>ID Skype:</td> 
     <td width=100>indirizzo email:</td> 
     <td width=100>Richiesta:</td> 

     </tr>"; 

     while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
     { 
     print "<tr>"; 
     print "<td>" . $row['reservation_name'] . "</td>"; 
     print "<td>" . $row['reservation_surname'] . "</td>"; 
     print "<td>" . $row['reservation_email'] .  "</td>"; 
     print "<td>" . $row['reservation_message'] . "</td>";
     print "</tr>"; 
     } 
     print "</table>"; 
     ?>

2 个答案:

答案 0 :(得分:0)

如果我正确理解了问题,您应该能够在查询中使用数据库名称。

SELECT * FROM `db1`.`table` AS t1 JOIN `db2`.`table` AS t2 ON ...

答案 1 :(得分:0)

我不确定您是如何从第一个数据库中检索电子邮件地址的? 但为此我会以以下形式使用SESSIONS:

<?php
 session_start();
 //your authentication script
//then
 $_SESSION["email"] = $fgmembersite->UserEmail;
//anythink else you need to do
?>

然后在你的脚本中

$query = "SELECT * FROM booking_reservation WHERE reservation_email=".$_SESSION['email'];

我没有对此进行测试,但应该让你朝着正确的方向进行测试