2014-07-16 88 views
0

我試圖讓這個小項目工作。我有經典管理員的主管理員。只讀mysql數據庫

我的數據庫連接是在cookie $ key上建立的。如果我有cookie谷歌,它看起來到我的主管理數據庫,並在那裏搜索DB_PASSWORD,DB_HOST等,然後它構建config.php。 此Cookie設置爲在幾天後過期。

這是我的config.php:

<?php 


$key = $_COOKIE["nazev_webu"]; 

$sql = mysql_query("SELECT * FROM weby WHERE nazev='$key'"); 

while($row = mysql_fetch_array($sql)) { 
    // Print out the contents of each row into a table 
$name = $row['DB_NAME']; 
$pass = $row['DB_PASSWORD']; 
$user = $row['DB_USER']; 
$host = $row['DB_HOST']; 



    } 
    //připojení dataze 
$connect = mysql_connect($host, $user, $pass) 
    or die("Nelze se připojit k databázi"); 

    //výběr databáze 
$select = mysql_select_db($name ,$connect) 
    or die("Nemohu vybrat databázi"); 

?> 

它完美的作品,但只有在 「只讀模式」。我可以從數據庫中選擇,但如果我試圖插入或更新的東西,我得到這個錯誤。

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /data20/website/html/config.php on line 7 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /data20/website/html/config.php on line 7 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /data20/website/html/config.php on line 9 

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /data20/website/html/config.php on line 20 

我不得不說,插入和更新操作建立在ajax調用上,所以我通過文章f.e ..的ajax id發佈到更新腳本。

我認爲問題可能是mysql在另一臺服務器上,而不是在與我的網站相同的服務器上。

+0

您的mysql用戶是否有適當的授權來連接並執行遠程服務器上的插入和更新? –

+0

當您處於只讀模式時,您無法執行插入或更新。 – mickzer

+0

對不起,我自己解決了。這太無禮了。我試圖解決這個問題約2個小時後,我決定問stackowerflow,我解決它。對不起,夥計們,並感謝您的建議 – user3759862

回答

0

該解決方案太簡單了。我忘了將靜態數據庫連接包含到這個文件中。所以它不能查看數據庫並從這裏獲取新的config.php的連接細節。