【问题标题】:How to fetch data from mySQL by filtering by email?如何通过电子邮件过滤从 mySQL 中获取数据?
【发布时间】:2014-09-11 02:54:55
【问题描述】:

我正在尝试从 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>"; 
     ?>

【问题讨论】:

  • 您需要连接到第一个数据库,获取电子邮件地址,连接到第二个数据库,使用电子邮件地址作为参数来查询预订。
  • 是通过JOIN吗?
  • 不清楚,如何从 bookingDB 获取邮件? (我猜您的 bookingDB 表中有 1 行以上。)给出表/数据库模式。
  • 它是使用 reservation_email 获取的,预订脚本使用 其中 userEmail 保存来自登录/注册数据库的电子邮件

标签: php mysql email


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我不确定您是如何从第一个数据库中检索电子邮件地址的? 但为此,我会以以下形式使用 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'];
    

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

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 1970-01-01
      • 2019-09-20
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多