не смог найти водителя

Когда вы берете адрес b, вы получаете char *. operator<< интерпретирует это как строку C и пытается напечатать последовательность символов вместо своего адреса.

попробуйте cout << "address of char :" << (void *) &b << endl.

[EDIT] Как сказал Томек, более подходящим для использования в этом случае является static_cast, что является более безопасной альтернативой. Вот версия, которая использует его вместо C-стиля:

cout << "address of char   :" << static_cast<void *>(&b) << endl;
0
задан Isaac Bennetch 23 February 2019 в 17:45
поделиться

1 ответ

MySQL - это база данных, а php использует расширения, такие как pdo_mysql, для соединения PHP и MySQL. Во-первых, драйвер и расширения разные. Драйверы - mysqlnd или mysqlnd, а расширения - pdo_mysql или nd_pdo_mysql и т. Д. Сначала проверьте правильность установки драйверов.

Шаги для проверки расширений:

  1. Проверьте в phpinfo(), если вы видите, что pdo_mysql включен.
  2. Иногда для управляемого хостинга (в основном с cpanel) расширения sql включены по умолчанию. Проверьте в phpinto для _mysql в разделе расширений php. Проверьте, видите ли вы какое-либо другое добавленное расширение, например nd_pdo_mysql. Если это так, то вы заметите конфликт. Вы должны сначала отключить его, а затем снова попытаться включить pdo_mysql.
  3. Перезапустите службу PHP, и вы можете попробовать снова, если она работает.
0
ответ дан Mihir Bhende 23 February 2019 в 17:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: