I have tested this and found that the "dbname" field is optional. Which is a good thing if you must first create the db.
After creating a db be sure to exec a "use dbname;" command, or else use fully specified table references.Овозможува дебагирање за PDO_MYSQL. Оваа поставка е достапна само кога PDO_MYSQL е компајлиран против mysqlnd и во PDO режим за дебагирање.
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Овозможува дебагирање за PDO_MYSQL. Оваа поставка е достапна само кога PDO_MYSQL е компајлиран против mysqlnd и во PDO режим за дебагирање.
Референца за `ref.pdo-mysql.connection.php` со подобрена типографија и навигација.
Овозможува дебагирање за PDO_MYSQL. Оваа поставка е достапна само кога PDO_MYSQL е компајлиран против mysqlnd и во PDO режим за дебагирање.
(PECL PDO_MYSQL >= 0.1.0)
Овозможува дебагирање за PDO_MYSQL. Оваа поставка е достапна само кога PDO_MYSQL е компајлиран против mysqlnd и во PDO режим за дебагирање. — Connecting to MySQL databases
= NULL
The PDO_MYSQL Data Source Name (DSN) is composed of the following elements:
- Името на изворот на податоци (DSN) на PDO_ODBC се состои од следниве елементи:
-
DSN префикс
mysql:. host-
The hostname on which the database server resides.
port-
The port number where the database server is listening.
dbname-
Името на базата на податоци.
unix_socket-
The MySQL Unix socket (shouldn't be used with
hostorport). charset-
The character set. See the character set concepts documentation for more information.
Примери
Example #1 PDO_MYSQL DSN examples
The following example shows a PDO_MYSQL DSN for connecting to MySQL databases:
mysql:host=localhost;dbname=testdb
mysql:host=localhost;port=3307;dbname=testdb mysql:unix_socket=/tmp/mysql.sock;dbname=testdb
Белешки
Забелешка: Unix only:
When the host name is set to
"localhost", then the connection to the server is made through a domain socket. If PDO_MYSQL is compiled against libmysqlclient then the location of the socket file is at libmysqlclient's compiled in location. If PDO_MYSQL is compiled against mysqlnd a default socket can be set through the pdo_mysql.default_socket setting.
Белешки од корисници 3 белешки
xwisdom made a mistake in his comment and got it backwards, correction below:
If you are having problems accessing a remote MYSQL database, the solution is to make sure that you add a white-space after "mysql:"
Change this...:
mysql:host=remote;
...to this:
mysql: host=remote;
See original solution here:
http://stackoverflow.com/a/25432156here is the example i prefer myself, in my opinion, this is almost always "the correct way" to do it:
<?php
$db = new \PDO('mysql:host=localhost;dbname=testdb;charset=utf8mb4', 'username', 'password', array(
\PDO::ATTR_EMULATE_PREPARES => false,
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION
));