我已经编写了这个PHP代码并且工作正常...然后我想要一个特定的代码段作为一个函数工作,但是一旦我这样做我没有得到正确的结果...我很困惑出了什么问题,有人可以帮我解决这个问题......非常感谢...
这里的代码给了我错误...
$arr1=array();
$date = date("D");
$link = mysql_connect ('localhost', 'root', '');
$db = mysql_select_db ('dayevent', $link);
function grabData($arr){ //works properly NOT as a function, but I want to make this code part act like a funciton
$i=0;
$sql = "SELECT event FROM events WHERE day = '$date'";
$sel = mysql_query($sql);
echo $sel; //this prints Resource id #3
if (mysql_num_rows($sel) > 0) { // but doesn't go into if block
while($row = mysql_fetch_array($sel)) {
echo $row['event'] . '<br />';
//storing DB query result in array
$arr[$i]=$row['event'];
$i=$i+1;
}
foreach($arr as $key => $value) {
echo $key . " " . $value . "<br />";
}
} else echo 'Nothing returned!'; //prints this instead of the correct result
}
grabData($arr1);
mysql_close();
答案 0 :(得分:2)
在你的功能中移动它:$date = date("D");
。现在的方式,$ date没有定义。如果你使用error_reporting(E_ALL),你就会马上抓住它。
答案 1 :(得分:-1)
测试代码:
<强> EDITED 强>
$arr1=array();
$date = date("D");
$link = mysql_connect ('localhost', 'root', '');
$db = mysql_select_db ('dayevent', $link);
function grabData()
{
global $link,$date;
$arr = array();
$i=0;
$sql = "SELECT event FROM events WHERE day = '$date'";
$sel = mysql_query($sql,$link);
echo $sel; //this prints Resource id #3
if (mysql_num_rows($sel) > 0)
{
while($row = mysql_fetch_array($sel))
{
echo $row['event'] . '<br />';
$arr[$i]=$row['event'];
$i=$i+1;
}
foreach($arr as $key => $value)
{
echo $key . " " . $value . "<br>";
}
} else echo 'Nothing returned!'; //prints this instead of the correct result
return $arr;
}
print_r( grabData() );
mysql_close();