0

我的代码中的 $json 变量有问题。出于某种原因,我的 php 查询没有被编码到我的 $json 变量中。

$sql = "SELECT `$column`, `Year`, `Month` FROM unemployed WHERE year BETWEEN ? AND ? and month= ?";

$stmt = $conn->stmt_init();
$stmt->prepare($sql); 
$stmt->bind_param('sss', $gYear, $gYear2, $gMonth);
$stmt->bind_result($Column, $year, $month);
$stmt->execute();
$stmt->store_result();
$numRows = $stmt->num_rows;
$json = array();

if ($numRows) { ?>

<table>
<tr>
<th scope="col"> Hi </th>
<th scope="col"> Year </th>
<th scope="col"> Month </th>
</tr>

<?php while ($row = $stmt->fetch()) { ?>
<tr>
<td> <?php echo $Column; ?> </td>
<td> <?php echo $year; ?> </td>
<td> <?php echo $month; ?> </td>
</tr> 
$json['unemployed'][]= $row;
<?php } ?>
</table>
<?php
echo json_encode($json);
var_dump($json);
?>

运行此脚本后,我的 $json 变量中仍然没有任何内容。有谁知道这是为什么?变量现在不应该是一个包含我的查询值的数组(每行现在都是数组的一部分)吗?

4

2 回答 2

1

它甚至看起来都不像

$json['unemployed'][]= $row;

在 php 标签内。

此外,看起来 fetch() 返回布尔值。当您调用 fetch() 时,它看起来像是用行中的值填充变量 $Column、$year 和 $month。所以而不是

$json['unemployed'][]= $row;

做这个:

$json['unemployed'][]= array($Column, $year, $month);
于 2013-10-15T16:42:20.930 回答
0

问题是您在尝试解析 PHP 代码时超出了 PHP 解释器的范围。

</tr> 
$json['unemployed'][]= $row;

</tr> 
<?php $json['unemployed'][]= $row; ?>
于 2013-10-15T16:41:32.350 回答