MySQL Serverは、接続にさまざまなトランスポートレイヤーの使用をサポートしています。接続は、TCP/IP、UNIXドメインソケット、またはWindows名を使用します。

地元のホストの名前には特別な意味があります。UNIXドメインソケットの使用にリンクしています。ローカルホスト名としてTCP/IP接続を開くことはできません。代わりに127.0.0.1を使用する必要があります。

これが例です：

<？php
$ mysqli = new mysqli（ "localhost"、 "user"、 "password"、 "bases"）;


mysqli.default_host = 192.168.2.27
mysqli.default_user = root
mysqli.default_pw = ""
mysqli.default_port = 3306
mysqli.default_socket =/tmp/mysql.sock



if（$ mysqli-> connect_erno）{
    echo "mysqlに接続するときに失敗します：（"。$ mysqli-> connect_erno。 "）"。$ mysqli-> connect_error;
}
echo $ mysqli-> host_info。"\ n";

$ mysqli = new mysqli（ "127.0.0.1"、 "user"、 "password"、 "basedatos"、3306）;
if（$ mysqli-> connect_erno）{
    echo "mysqlに接続するときに失敗します：（"。$ mysqli-> connect_erno。 "）"。$ mysqli-> connect_error;
}

echo $ mysqli-> host_info。"\ n";
？>
El servidor MySQL soporta el uso de diferentes capas de transporte para conexiones. Las conexiones usan TCP/IP, sockets de dominio Unix o tuberías con nombre de Windows.

El nombre del host localhost tiene un significado especial. Está vinculado al uso de sockets de dominio Unix. No es posible abrir una conexión TCP/IP usando como nombre de host localhost, se debe usar 127.0.0.1 en su lugar.

Aqui hay un ejemplo:

<?php
$mysqli = new mysqli("localhost", "usuario", "contraseña", "basedatos");


mysqli.default_host=192.168.2.27
mysqli.default_user=root
mysqli.default_pw=""
mysqli.default_port=3306
mysqli.default_socket=/tmp/mysql.sock



if ($mysqli->connect_errno) {
    echo "Fallo al conectar a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "\n";

$mysqli = new mysqli("127.0.0.1", "usuario", "contraseña", "basedatos", 3306);
if ($mysqli->connect_errno) {
    echo "Fallo al conectar a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

echo $mysqli->host_info . "\n";
?>