0

我有以下有效的代码:

$date1 = mysql_query("SELECT date1 FROM Users WHERE username='".$_SESSION['username']."'") 
    or die(mysql_error());
while($row = mysql_fetch_array($date1)){
    $lastViewedDate = $row[0];
}

但是当我尝试使用 mysql_fetch_object 时,我得到一个内部服务器错误 500。

$date1 = mysql_query("SELECT date1 FROM Users WHERE username='".$_SESSION['username']."'") 
    or die(mysql_error());
while($row = mysql_fetch_object($date1)){
    $lastViewedDate = $row["date1"];
}

我希望将来使用这些对象,但我不明白为什么它们不起作用。任何帮助,将不胜感激。

4

3 回答 3

4

使用 fetch_object 的语法是:

$row->date1 

使用 fetch_assoc 的语法是:

$row["date1"]

也请.. 对于所有神圣的东西.. 打开 E_NOTICE 错误消息和 display_errors

于 2012-09-14T18:28:33.940 回答
1

您没有正确访问您的对象,它会是这样的:

$date1 = mysql_query("SELECT date1 FROM Users WHERE username='".$_SESSION['username']."'") 
    or die(mysql_error());
while($row = mysql_fetch_object($date1)){
    $lastViewedDate = $row->date1;
}

注意对象属性访问器的使用->

于 2012-09-14T18:28:25.947 回答
1
$lastViewedDate = $row["date1"];

这不是您访问对象变量的方式。试试这个:

$lastViewedDate = $row->date1;
于 2012-09-14T18:28:33.027 回答