Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo

Ponieważ błąd jest zgłaszany przez wywołanie mysql_real_escape_string() raczej sugeruje, że nie wywołałeś mysql_connect() najpierw i przekaż prawidłowy uchwyt bazy danych do mysql_real_escape_string (lub wywołanie mysql_connect() nie powiodło się).

W pewnych okolicznościach rozszerzenie mysql będzie próbowało połączyć się automatycznie, używając domyślnych ustawień w php.ini, przełączając się na my.cnf, jeśli nie są one dostępne - co oczywiście nie jest prawidłowe. Być może ustawienia są prawidłowe, ale mysqld nie działa.

Czy masz skrypty, które pomyślnie łączą się z bazą danych?

Czy masz nazwę użytkownika i hasło do bazy danych?

Wypróbuj:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Knex.js — jak zaktualizować pole za pomocą wyrażenia

  2. doktryna2 i group_concat

  3. Aktualizuj dane w bazie danych MySQL

  4. Jak przechowywać znaki UTF8 w MySQL?

  5. Nie można usunąć tabeli:Ograniczenie klucza obcego nie działa