php数据库问题

时间:2011-04-25 04:19:52

标签: php mysql

我已经编写了这个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(); 

2 个答案:

答案 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();