【问题标题】:echo on query result buggin回显查询结果错误
【发布时间】:2017-05-07 11:54:19
【问题描述】:

我正在尝试使用以下方法提取 $row 元素:

$sql = "SELECT date, email, journal, section FROM selection_loggedin WHERE email = '$email' and date in (SELECT max(date) FROM (SELECT date, email FROM selection_loggedin WHERE email = '$email') as x)";
$result = $dbc->query($sql);

if ($result->num_rows > 0) { 

while($row = $result->fetch_assoc()) {
    $journal = row['journal'];
    $section = row['section'];
    print_r($row);
    //echo "'$journal'"."'$section'";
    echo "<br>".row['email']."<br>";
    echo row['date']."<br>";

我明白了:

Array ( 
      [date] => 2017-05-07 12:45:45 
      [email] => benoitkoen@gmail.com 
      [journal] => Wall Street Journal 
      [section] => Economy 
) 

为什么它不打印正确的东西(“华尔街日报”和“经济”)?

【问题讨论】:

  • 因为您正在打印整个 $row,并且您也在 $sql 查询中选择了这些列。你期待它做其他事情吗?
  • print_r 默认回显。注释掉那一行。
  • 别在意我之前的评论,我现在明白了这个问题。您正在尝试从row 读取列,而您应该从$row 读取列(注意$

标签: php mysql echo


【解决方案1】:
$sql = "SELECT date, email, journal, section FROM selection_loggedin WHERE email = '$email' and date in (SELECT max(date) FROM (SELECT date, email FROM selection_loggedin WHERE email = '$email') as x)";
$result = $dbc->query($sql);

if ($result->num_rows > 0) { 

while($row = $result->fetch_assoc()) {
    $journal = $row['journal'];
    $section = $row['section'];
    print_r($row);
    //echo "'$journal'"."'$section'";
    echo "<br>".$row['email']."<br>";
    echo $row['date']."<br>";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多