我正在努力开展这个小项目的工作。我有经典管理员的主管理员。
我的数据库连接是在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 :(得分:0)
解决方案太简单了。我忘了在这个文件中包含静态数据库连接。因此,它无法查看数据库并从此处获取新config.php的连接详细信息。