我正在修改通過Google發現的一些腳本,該腳本監視登錄到網站的用戶。
它由包括本每一頁中的我想監控:
<?
include_once("config.php");
include_once("functions.php");
?>
config.php文件看起來像這樣(我已刪除了實際的數據庫信息):
<?php
DEFINE ('DB_USER', '');// database username
DEFINE ('DB_PASSWORD', '');//database password
DEFINE ('DB_HOST', '');//database host, usually localhost
DEFINE ('DB_NAME', '');//and finally the database name
$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error());
@mysql_select_db (DB_NAME) OR die('Could not select the database: ' . mysql_error());
?>
的functions.php看起來像這樣:
<?php
$page = $_SERVER['PHP_SELF'];
$user = $_SESSION["name"];
$logq = "INSERT INTO logs (Name, Page, Date) VALUES ('$user', '$page', NOW())";
$logr = @mysql_query($logq);
?>
這工作正常,即我的數據庫中的表填充correctl年。
但是,應該在網頁上生成表來顯示MySQL表中的信息的文件不起作用。該文件,logs.php,看起來是這樣的:「沒有結果」
<?php
$lq = "SELECT id, Name, Page, DATE_FORMAT(date, '%d %M, %Y') as sd FROM logs ORDER BY id DESC LIMIT 50";
$lr = @mysql_query($lq);
if($lr){
echo "<table><th>Name</th><th>Page</th><th>Date</th>";
while($lf = mysql_fetch_array($lr, MYSQL_ASSOC)){
echo "<tr><td>" . $lf['Name'] . "</td><td>" . $lf['Page'] . "</td><td>" . $lf['sd'] . "</td></tr>";
}
echo "</table>";
}
else
{
echo "No results!";
}
?>
即使有在MySQL表,我永遠只是獲取數據顯示何時瀏覽到該頁面。
任何人都可以看到什麼問題是?
感謝,
尼克
您應該刪除'@',看看它吐出。另外,請嘗試手動運行查詢 – JohnP 2011-05-01 12:25:23
這需要進行基本的調試。從mysql_query調用中除去'@',並輸出可能的mySQL錯誤,例如使用'if(!$ lr)trigger_error(mysql_error());'。 – 2011-05-01 12:25:53
你有「id」專欄嗎? – 2011-05-01 12:28:35