我有一个错误未定义的变量返回数据。
<?php
function getData() {
$query = "SELECT * FROM `$this->tablename` ORDER BY `id` DESC";
if(!$sql = mysql_query($query))
{
echo mysql_errno();
}
else
{
$num = mysql_num_rows($sql);
if($num > 0)
{
for($i = 0; $i < $num; $i++)
{
$data[$i] = mysql_fetch_array($sql);
}
}
}
return $data;
}
?>
答案 0 :(得分:0)
在$data
循环之外定义for
。
function getData() {
$query = "SELECT * FROM `$this->tablename` ORDER BY `id` DESC";
$data = array();
if(!$sql = mysql_query($query))
...
PS:停止使用mysql_*
个功能。切换到MySQLi
或PDO
。
答案 1 :(得分:0)
问题非常清楚。在特定情况下,$ data未正确初始化:
因此,您会收到数据未定义的通知,因为只有当第一个if为false且第二个if为true时才会设置数据。
要更正此问题并删除在函数开头初始化$ data所需的消息。