我在使用PHP函数时遇到了类似WYSIWIG的非常小的应用程序的问题。以下函数确定用户是否拥有页面。它具有用于调试的打印语句。
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.