在我的網站即時通訊試圖包括在每個頁面的頂部一個「橫幅」,它本身是一個單獨的PHP頁面,查詢MySQL數據庫返回一個數字顯示。PHP包括另一個PHP查詢MySQL
當我得到了橫幅php網址(www.sitename.com/banner.php)的確切網址,它完美的作品。
但是,當我將橫幅包含到另一個頁面include'banner.php'時,它會返回以下錯誤:數據庫訪問錯誤2002:無法通過套接字'/ var/lib/mysql/mysql.sock'(2)
我有2種方式,我需要包括這一點,我的主要網站頁面都是PHP。我的論壇是phpbb和我需要包括的文件是HTML所以我用(注意,我做了../退出到橫幅根目錄,它不是我的文件沒有被發現的問題
我假設當包括的範圍是不同的。我怎麼會正確做到這一點包括?
Banner.php
<?php
require("../mysql.inc.php");
check_get($tp, "tp");
$tp = intval($tp);
$link = sql_connect();
$result = sql_query($link, "SELECT COUNT(*) FROM online_count");
if (!$result) {
echo "Database error.<br>\n";
exit;
}
list($total) = mysql_fetch_row($result);
mysql_free_result($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="menu_css.css" media="screen"/>
</head>
<body>
<div class="menucenter">
<div class="Online"> <? echo"$total" ?> Online</div>
</body>
</html>
mysql.inc.php
<?php
$SQLhost = "****.db.****.hostedresource.com";
$SQLport = "3306";
$SQLuser = "****";
$SQLpass = "****";
$SQLdb = "****";
function sql_connect()
{
global $SQLhost, $SQLport, $SQLdb, $SQLuser, $SQLpass;
if ($SQLport != "")
$link = @mysql_connect("$SQLhost:$SQLport","$SQLuser","$SQLpass");
else
$link = @mysql_connect("$SQLhost","$SQLuser","$SQLpass");
if (!$link) {
echo "Database access error ".mysql_errno().": ".mysql_error()."\n";
die();
}
$result = mysql_select_db("$SQLdb");
if (!$result) {
echo "Error ".mysql_errno($link)." selecting database '$SQLdb': ".mysql_error($link)."\n";
die();
}
return $link;
}
function sql_query($link, $query)
{
global $SQLhost, $SQLport, $SQLdb, $SQLuser, $SQLpass;
$result = mysql_query("$query", $link);
if (!$result) {
echo "Error ".mysql_errno($link).": ".mysql_error($link)."\n";
die();
}
return $result;
}
function check_get(&$store, $val)
{
$magic = get_magic_quotes_gpc();
if (isset($_POST["$val"])) {
if ($magic)
$store = stripslashes($_POST["$val"]);
else
$store = $_POST["$val"];
}
else if (isset($_GET["$val"])) {
if ($magic)
$store = stripslashes($_GET["$val"]);
else
$store = $_GET["$val"];
}
}
?>
粘貼一些代碼 – GBD
什麼是您的數據庫連接代碼?函數sql_connect()。 – janenz00
您是否試過按照路徑查看套接字文件是否真正駐留在那裏?另外,sql_connect函數是否是native?我找不到任何文檔。 –