由于对该错误的调用引发了错误,
mysql_real_escape_string()因此它意味着您没有
mysql_connect()先调用该错误并将有效的数据库句柄传递给
mysql_real_escape_string(或调用
mysql_connect()失败)。
在某些情况下,mysql扩展将尝试使用php.ini中的默认设置自动连接,如果这些设置不可用,则故障转移至my.cnf-
显然无效。也可能是设置有效,但是mysqld没有运行。
您是否具有成功连接到数据库的脚本?
您有数据库的用户名和密码吗?
尝试:
check_running();$user=''; // fill in your details$password=''; // fill in your details$hosts=array( 'localhost', '127.0.0.1', $_SERVER['HTTP_HOST'], $_SERVER['SERVER_ADDR']);foreach ($hosts as $addr) { try_con($addr, $user, $password); try_con($addr . ':3306', $user, $password);}function try_con($host, $user, $password){ $dbh=mysql_connect($host, $user, $password); if ($dbh) { print "Connected OK with $host, $user, $password<br />n"; } else { print "Failed with $host, $user, $password<br />n"; }}function check_running(){ // this assumes that you are using Apache on a Unix/Linux box $chk=`ps -ef | grep httpd | grep -v grep`; if ($chk) { print "Checking for mysqld process: " . `ps -ef | grep mysqld | grep -v grep` . "<br />n"; } else { print "Cannot check mysqld process<br />n"; } }


