PHP:Can';使用php变量时,无法获取数组
我试图从MySQL数据库中获取数组,但当使用php变量($final_date)而不是字符串(2015-02-16)时,我无法获取数组。有人能帮我吗 代码如下:PHP:Can';使用php变量时,无法获取数组,php,Php,我试图从MySQL数据库中获取数组,但当使用php变量($final_date)而不是字符串(2015-02-16)时,我无法获取数组。有人能帮我吗 代码如下: $date = new DateTime(date("Y-m-d")); $date->modify('-1 day'); $prev_date = $date->format('Y-m-d'); $final_date = (string)$prev_date; function GetPrevUsers(){
$date = new DateTime(date("Y-m-d"));
$date->modify('-1 day');
$prev_date = $date->format('Y-m-d');
$final_date = (string)$prev_date;
function GetPrevUsers(){
$Adname = "Error";
$query = mysql_query("SELECT users FROM stats WHERE date = '".$final_date."'");
while($row = mysql_fetch_array($query)){
$Adname = $row['users'];
}
return $Adname ;
}
echo GetPrevUsers();
出于某种原因,当我使用实际日期而不是php变量时,函数会工作,如下所示:
$query = mysql_query("SELECT users FROM stats WHERE date = '2015-02-16'");
它不工作,因为范围不同;您尝试从函数中访问变量。您可以将变量传递给函数[例如:
函数GetPrevUsers($final_date){yourCode}
],或者将变量$final_date
添加到$GLOBALS
数组中
第一种方法通常是首选方法;只有在确实需要时才将变量添加到
$GLOBALS
数组。将$final\u date
保留为全局变量,检查函数:
function GetPrevUsers(){
global $final_date;
$Adname = "Error";
$query = mysql_query("SELECT users FROM stats WHERE date = '".$final_date."'");
while($row = mysql_fetch_array($query)){
$Adname = $row['users'];
}
return $Adname ;
}
尝试回显您的查询以确保其正确。另外,最好使用
GetPrevUsers()
函数将$final_date
作为参数发送。查询是正确的,但正如您所说,我必须将$final_date作为参数发送。谢谢解决了的!非常感谢!过了期限,我会把你的答案记为正确的。