可能是以下问题的原因。
如果我执行它,PHP函数mysql_connect()
工作正常
command line (php -r "mysql_connect('127.0.0.1', 'db_user', 'db_pass');")
。
对于作为Apache模块运行的PHP,具有相同参数的相同调用失败。
MySQL服务器远程运行,使用SSH转发与它的连接:ssh -fN -L 3306:localhost:3306 remote_host
任何想法可能出错?
答案 0 :(得分:1)
您将希望使用MySQLi或PDO,因为旧的MySQL函数已被弃用。
这应该有助于您入门:
<?php
//establish conection
$link = mysqli_connect("host","user","pass","bd") or die("Error: " . mysqli_error($link));
$query = "SELECT name FROM mytable" or die("Error: " . mysqli_error($link));
//execute query
$result = $link->query($query);
//display information
while($row = mysqli_fecth_array($result)) {
echo $row["name"] . "<br>";
}
?>
答案 1 :(得分:0)
根据您的问题和详细信息,我会说MySQL服务器拒绝连接到您的Web服务器(无论在哪里),因为连接不安全(以某种方式或其他方式)。如果要像在命令行中那样通过Apache中的PHP模块进行连接,请设置连接,以便解决所有加密/隧道问题。这就是我要做的事。
但是,请确保以下行正确无误。
mysql_connect('127.0.0.1', 'db_user', 'db_pass');"
您是否指向正确的服务器?我以为你说MySQL服务器是远程的。此行表明您正在尝试连接到与Web服务器在同一台计算机上运行的本地虚构MySQL服务器。尝试获取MySQL服务器的IP或域名,然后使用它(在您的Web代码中)。