我遇到了PHP函数的一个非常小的所见即所得类应用程序的问题。以下函数确定用户是否拥有页面。它具有用于调试的打印语句。PHP函数返回True时,它应该返回错误
function is_owned($sitename, $page_id)
{
$output = false;
$result = count(single_row_query(sprintf("SELECT page_id FROM pages WHERE sitename='%s' AND page_id='%s';", addslashes($sitename), addslashes(strval($page_id)))));
print $result;
if ($result != 0)
{$output = true; }
return $output;
}
以下是我用来调试该函数的页面的输出。
SELECT sitename FROM session WHERE uid='l8rc8ssri8qr65lqvtfp174s91'
SELECT page_id FROM pages WHERE sitename='Test' AND page_id='132432';
Result: 0
The function has returned true.
正如您所看到的,$ result的值为0,但该函数仍然返回true。 SQL语句包含在内,尽管问题似乎并不存在。
以下函数被称为is_owned(),但不可能是相关的,因为它似乎是功能性的。
function single_row_query($query)
{
$database_connection = open_connection();
$result = mysql_query($query);
$output = mysql_fetch_array($result);
$output = $output[0];
mysql_free_result($result);
mysql_close($database_connection);
return $output;
}
非常感谢您的协助。
编辑:此外,这是测试页的输出时,它应该返回true:
! SELECT sitename FROM session WHERE uid='l8rc8ssri8qr65lqvtfp174s91' !
! SELECT page_id FROM pages WHERE sitename='Test' AND page_id='7'; !
Result: 1
The function has returned true.
您是否可以包含打印'函数已返回true'的代码?也许这就是问题所在。 – 2012-03-02 07:14:05
哦,derp。你完全正确,我忘了把一个$放在一个变量上。对不起,这个小问题。 – Etsi 2012-03-02 07:20:29