sql >> Databáze >  >> RDS >> Mysql

Nelze se připojit k místnímu serveru MySQL přes soket

Protože chyba je vyvolána voláním mysql_real_escape_string() spíše to znamená, že jste nezavolali mysql_connect() nejprve a předejte platný popisovač db do mysql_real_escape_string (nebo volání mysql_connect() selhalo).

Za určitých okolností se rozšíření mysql pokusí připojit automaticky pomocí výchozího nastavení v php.ini, přičemž selže na my.cnf, pokud nejsou k dispozici – což samozřejmě není platné. Nebo se může stát, že nastavení jsou platná, ale mysqld neběží.

Máte skripty, které se úspěšně připojují k databázi?

Máte uživatelské jméno a heslo k databázi?

Zkuste:

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";
   }
 }


  1. příspěvek přejmenoval název souboru z nahrání do databáze

  2. Spouštění souborů MySQL *.sql v PHP

  3. Server MYSQL odešel

  4. Nelze svázat argument na indexu 2, protože index je mimo rozsah