【发布时间】: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读取列(注意$)