Karena kesalahan dilemparkan oleh panggilan ke mysql_real_escape_string()
ini menyiratkan bahwa Anda tidak memanggil mysql_connect()
pertama dan berikan pegangan db yang valid ke mysql_real_escape_string
(atau panggilan ke mysql_connect()
gagal).
Dalam beberapa keadaan, ekstensi mysql akan mencoba untuk terhubung secara otomatis menggunakan pengaturan default di php.ini, gagal ke my.cnf jika ini tidak tersedia - yang jelas tidak valid. Atau mungkin settingnya valid tapi mysqldnya tidak jalan.
Sudahkah Anda mendapatkan skrip yang berhasil terhubung ke database?
Apakah Anda memiliki nama pengguna dan kata sandi untuk database?
Coba:
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";
}
}