Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menetapkan nombor port MySQL dalam PDO

Bagaimana untuk menetapkan nombor port MySQL dalam PDO

PHPz
PHPzasal
2023-04-04 10:40:171499semak imbas

Apabila menggunakan PHP untuk menyambung ke pangkalan data MySQL, ramai orang akan menggunakan PDO (Objek Data PHP) untuk menyambung. PDO ialah perpustakaan sambungan PHP Ia menyediakan antara muka akses data bersatu yang boleh menyambung kepada pelbagai jenis pangkalan data, termasuk MySQL, Oracle, PostgreSQL, dll. Walau bagaimanapun, kadangkala kita perlu menetapkan nombor port yang digunakan untuk menyambung ke pangkalan data MySQL Artikel ini akan memperkenalkan cara menetapkan nombor port MySQL dalam PDO.

Secara amnya, nombor port untuk menyambung ke pangkalan data MySQL ialah 3306 secara lalai Jika nombor port pangkalan data MySQL anda tidak ditukar, maka anda boleh terus menggunakan PDO untuk menyambung tanpa menetapkan nombor port. Tetapi jika pangkalan data MySQL anda menukar nombor port, atau anda perlu menggunakan nombor port lain untuk menyambung ke pangkalan data MySQL, maka anda perlu menetapkannya melalui PDO.

Kelas PDO PHP menyediakan pembina yang boleh digunakan untuk menetapkan nombor port untuk menyambung ke pangkalan data MySQL. Berikut ialah contoh kod asas untuk menggunakan PDO untuk menyambung ke pangkalan data MySQL dan menetapkan nombor port:

$dsn = 'mysql:host=127.0.0.1;port=3307;dbname=test';
$username = 'root';
$password = '123456';
try {
    $pdo = new PDO($dsn, $username, $password);
    echo '连接成功';
} catch (PDOException $e) {
    echo '连接失败:' . $e->getMessage();
}

Dalam kod di atas, kami mula-mula menentukan rentetan dsn, yang mengandungi alamat MySQL pangkalan data yang akan disambungkan, nombor Port dan nama pangkalan data. Di sini kami menetapkan port kepada 3307 dan menukarnya kepada nombor port sepadan pelayan MySQL kami. Kemudian kami menentukan nama pengguna dan kata laluan yang diperlukan untuk menyambung ke pangkalan data MySQL. Akhir sekali, dalam blok cuba, kami menggunakan pembina PDO untuk cuba menyambung ke pangkalan data MySQL, dan mengeluarkan gesaan kejayaan atau kegagalan sambungan melalui pernyataan gema.

Selain menyatakan secara eksplisit nombor port dalam rentetan dsn, anda juga boleh menentukan nombor port dengan menetapkan pemalar PDO::MYSQL_ATTR_PORT dalam parameter pilihan pembina. Berikut ialah contoh kod yang menggunakan parameter pilihan untuk menetapkan nombor port:

$dsn = 'mysql:host=127.0.0.1;dbname=test';
$username = 'root';
$password = '123456';
$options = array(PDO::MYSQL_ATTR_PORT => 3307);
try {
    $pdo = new PDO($dsn, $username, $password, $options);
    echo '连接成功';
} catch (PDOException $e) {
    echo '连接失败:' . $e->getMessage();
}

Dalam kod di atas, kami mula-mula menentukan rentetan dsn yang mengandungi alamat dan nama pangkalan data pangkalan data MySQL untuk disambungkan , tanpa menyatakan Tentukan nombor port. Kemudian tentukan nama pengguna dan kata laluan yang diperlukan untuk menyambung ke pangkalan data MySQL. Akhir sekali, pemalar PDO::MYSQL_ATTR_PORT ditetapkan dalam tatasusunan $options dan nilainya diberikan kepada 3307, iaitu nombor port. Akhir sekali, dalam blok cuba, kami menggunakan pembina PDO untuk cuba menyambung ke pangkalan data MySQL, dan mengeluarkan gesaan kejayaan atau kegagalan sambungan melalui pernyataan gema.

Setakat ini, anda telah mempelajari cara menggunakan PDO untuk menyambung ke pangkalan data MySQL dan menetapkan nombor port saya harap ia akan membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan nombor port MySQL dalam PDO. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Adakah php berbilang integer?Artikel seterusnya:Adakah php berbilang integer?