【发布时间】:2015-07-20 14:25:44
【问题描述】:
我使用 pdo 连接 mysql 数据库并使用 PDO::FETCH_ASSOC 函数..获取 ASSOC 数组..
但是当运行代码时,会在多行中给出这个错误。
未定义的偏移量:-1 或未定义的偏移量:61
if($pays[$i]['price'] < $pays[($i-1)]['price'])
和
elseif($pays[$i]['price'] > $pays[($i-1)]['price'])
和
.$pays[$i]['price'].
我的完整代码
<?php
$params = null; //or any params
$mrkfPDO = new PDO('mysql:host=localhost;dbname=usd', 'root', '', array(
PDO::ATTR_PERSISTENT => true,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
));
$mrkfStatement = $mrkfPDO->prepare("SELECT price FROM uds limit 0,100");
$mrkfStatement->execute($params);
$pays = $mrkfStatement->fetchAll(PDO::FETCH_ASSOC);
for ($i = 0; $i <= count($pays); $i++) {
$color = 'black';
if ($pays[$i]['price'] < $pays[($i - 1)]['price'])
$color = "red";
elseif ($pays[$i]['price'] > $pays[($i - 1)]['price'])
$color = 'green';
else
$color = 'black';
echo "<tr>
<td>
<span style='color: $color'>" . $pays[$i]['price'] . "</span>
</td>
</tr>";
}
?>
【问题讨论】:
-
由于
$i = 0 in your for loop你得到了那个错误。开始$i =1。