Connection à phpMy Admin en php (Synology)

Fermé
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023 - 9 févr. 2018 à 21:23
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023 - 12 févr. 2018 à 20:49
Bonjour,

J'héberge mon site sur un serveur synology, pour me connecter à ma base de donnée j'ai écrit dans mon code php ceci:

$bdd = new PDO('mysql:localhost;dbname=table;' ,'root' , ' ' );

le problème est que je reçois ce message:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /volume1/web/inscription.php on line 4 PDOException: could not find driver in /volume1/web/inscription.php on line 4 Call Stack: 0.0022 133584 1. {main}() /volume1/web/inscription.php:0 0.0023 133928 2. PDO->__construct() /volume1/web/inscription.php:4

Cordialement





6 réponses

Utilisateur anonyme
11 févr. 2018 à 11:39
Bonjour

Si le message te dit qu'il na pas trouvé de driver, tu as un problème de configuration - indépendamment de tes autres erreurs.
Peux-tu faire un script qui fait simplement
phpinfo();
pour voir quelle est ta configuration de PHP, et constater si oui ou non il y a un driver PDO pour mysql ?
1
TheHitekFive Messages postés 2 Date d'inscription vendredi 9 février 2018 Statut Membre Dernière intervention 9 février 2018
9 févr. 2018 à 22:10
xooit21 Je peut grandement t'aider ou peut être un peu, mais il est clairement que c'est un erreur d'interception "PDOException".
Est tu sur qu'il n'y aurait pas d'autre variable defois à la place de PDO ?
0
XDamienX007 Messages postés 3607 Date d'inscription jeudi 3 décembre 2009 Statut Membre Dernière intervention 28 mars 2018 418
10 févr. 2018 à 10:18
Bonjour !
Il te manque "host":
$bdd = new PDO("mysql:host=localhost;dbname=table", "username", "password");

Je pense que ça résoudra ton problème !

(Ce qui m'a donné la réponse: PDO->__construct() /volume1/web/inscription.php:4, ça indique une erreur sur le constructeur, donc quand tu appelles new PDO)
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
11 févr. 2018 à 11:27
Bonjour,
J'ai rajouté le "host" mais ca ne marche toujours pas.
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
11 févr. 2018 à 11:32
Est-ce que le fait que Phpmyadmin est sur mon synology change quelque chose? au niveau de l'adresse

$bdd = new PDO('mysql:host=localhost;dbname=table;' ,'root' , ' ' );
0
XDamienX007 Messages postés 3607 Date d'inscription jeudi 3 décembre 2009 Statut Membre Dernière intervention 28 mars 2018 418
12 févr. 2018 à 16:45
Oui du coup il faut mettre l'adresse de ton synology !
host=192.168.1.45 par exemple.
Il ne te reste plus qu'à la trouver :)
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
11 févr. 2018 à 11:44
Voici le script:

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
11 févr. 2018 à 13:46
Normalement, ce n'est que le haut de la page, ça.
Au-dessus, il y a la version de php
Et plus bas, il y a un tas de rubriques, dont une qui parle des drivers PDO. Voici un extrait du phpinfo d'un de mes sites à titre d'exemple :


Là, on voit qu'il y a un driver PDO pour mysql
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
11 févr. 2018 à 13:53
effectivement dans PDO driver j'ai no value, comment puis-je changer ça?
0
Utilisateur anonyme
11 févr. 2018 à 14:22
Il y a dans le fichier php.ini une ligne
extension=php_pdo_mysql.dll
à mettre ou à décommenter si elle est en commentaire.
MAIS
- je ne suis pas sûr que le fichier s'appelle également php.ini sous Linux (je suis sous Windows)
- l'extension n'est certainement pas .dll sous Linux, mais en regardant les lignes voisines tu trouveras la bonne extension pour Linux.
- si le fichier d'extension n'est pas physiquement présent dans ton système, ça ne sert à rien de le lui indiquer, sinon à faire planter ton serveur au démarrage.

Si tu as un responsable système qui gère ce serveur, adresse toi à lui en réclamant un driver PDO pour mysql.
0
Utilisateur anonyme
11 févr. 2018 à 14:25
Autre suggestion : te passer de PDO. Si c'est toi qui écris le script, tu peux bien utiliser mysqli.
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
11 févr. 2018 à 14:35
dans mon serveur synology je ne peut pas accéder au fichier php.int (je ne trouve pas comment faire, il est pas visible) du coup je dois enlever PDO?
0
Utilisateur anonyme
11 févr. 2018 à 17:52
Il y a plusieurs manières en PHP pour accéder à une base de données mysql. PDO est une méthode, mysqli en est une autre. Si tu ne peux pas utiliser PDO, utilise mysqli.
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
12 févr. 2018 à 20:16
voila

0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
12 févr. 2018 à 20:17
mysqlnd statistics
bytes_sent 0
bytes_received 0
packets_sent 0
packets_received 0
protocol_overhead_in 0
protocol_overhead_out 0
bytes_received_ok_packet 0
bytes_received_eof_packet 0
bytes_received_rset_header_packet 0
bytes_received_rset_field_meta_packet 0
bytes_received_rset_row_packet 0
bytes_received_prepare_response_packet 0
bytes_received_change_user_packet 0
packets_sent_command 0
packets_received_ok 0
packets_received_eof 0
packets_received_rset_header 0
packets_received_rset_field_meta 0
packets_received_rset_row 0
packets_received_prepare_response 0
packets_received_change_user 0
result_set_queries 0
non_result_set_queries 0
no_index_used 0
bad_index_used 0
slow_queries 0
buffered_sets 0
unbuffered_sets 0
ps_buffered_sets 0
ps_unbuffered_sets 0
flushed_normal_sets 0
flushed_ps_sets 0
ps_prepared_never_executed 0
ps_prepared_once_executed 0
rows_fetched_from_server_normal 0
rows_fetched_from_server_ps 0
rows_buffered_from_client_normal 0
rows_buffered_from_client_ps 0
rows_fetched_from_client_normal_buffered 0
rows_fetched_from_client_normal_unbuffered 0
rows_fetched_from_client_ps_buffered 0
rows_fetched_from_client_ps_unbuffered 0
rows_fetched_from_client_ps_cursor 0
rows_affected_normal 0
rows_affected_ps 0
rows_skipped_normal 0
rows_skipped_ps 0
copy_on_write_saved 0
copy_on_write_performed 0
command_buffer_too_small 0
connect_success 0
connect_failure 0
connection_reused 0
reconnect 0
pconnect_success 0
active_connections 0
active_persistent_connections 0
explicit_close 0
implicit_close 0
disconnect_close 0
in_middle_of_command_close 0
explicit_free_result 0
implicit_free_result 0
explicit_stmt_close 0
implicit_stmt_close 0
mem_emalloc_count 0
mem_emalloc_amount 0
mem_ecalloc_count 0
mem_ecalloc_amount 0
mem_erealloc_count 0
mem_erealloc_amount 0
mem_efree_count 0
mem_efree_amount 0
mem_malloc_count 0
mem_malloc_amount 0
mem_calloc_count 0
mem_calloc_amount 0
mem_realloc_count 0
mem_realloc_amount 0
mem_free_count 0
mem_free_amount 0
mem_estrndup_count 0
mem_strndup_count 0
mem_estndup_count 0
mem_strdup_count 0
proto_text_fetched_null 0
proto_text_fetched_bit 0
proto_text_fetched_tinyint 0
proto_text_fetched_short 0
proto_text_fetched_int24 0
proto_text_fetched_int 0
proto_text_fetched_bigint 0
proto_text_fetched_decimal 0
proto_text_fetched_float 0
proto_text_fetched_double 0
proto_text_fetched_date 0
proto_text_fetched_year 0
proto_text_fetched_time 0
proto_text_fetched_datetime 0
proto_text_fetched_timestamp 0
proto_text_fetched_string 0
proto_text_fetched_blob 0
proto_text_fetched_enum 0
proto_text_fetched_set 0
proto_text_fetched_geometry 0
proto_text_fetched_other 0
proto_binary_fetched_null 0
proto_binary_fetched_bit 0
proto_binary_fetched_tinyint 0
proto_binary_fetched_short 0
proto_binary_fetched_int24 0
proto_binary_fetched_int 0
proto_binary_fetched_bigint 0
proto_binary_fetched_decimal 0
proto_binary_fetched_float 0
proto_binary_fetched_double 0
proto_binary_fetched_date 0
proto_binary_fetched_year 0
proto_binary_fetched_time 0
proto_binary_fetched_datetime 0
proto_binary_fetched_timestamp 0
proto_binary_fetched_string 0
proto_binary_fetched_json 0
proto_binary_fetched_blob 0
proto_binary_fetched_enum 0
proto_binary_fetched_set 0
proto_binary_fetched_geometry 0
proto_binary_fetched_other 0
init_command_executed_count 0
init_command_failed_count 0
com_quit 0
com_init_db 0
com_query 0
com_field_list 0
com_create_db 0
com_drop_db 0
com_refresh 0
com_shutdown 0
com_statistics 0
com_process_info 0
com_connect 0
com_process_kill 0
com_debug 0
com_ping 0
com_time 0
com_delayed_insert 0
com_change_user 0
com_binlog_dump 0
com_table_dump 0
com_connect_out 0
com_register_slave 0
com_stmt_prepare 0
com_stmt_execute 0
com_stmt_send_long_data 0
com_stmt_close 0
com_stmt_reset 0
com_stmt_set_option 0
com_stmt_fetch 0
com_deamon 0
bytes_received_real_data_normal 0
bytes_received_real_data_ps 0
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
12 févr. 2018 à 20:29
j'ai envoyer un message au support Synology voir si sa viendrais d'un mauvais réglage de mon serveur.
0
Utilisateur anonyme
12 févr. 2018 à 20:36
Aucune idée de comment exploiter ça. Désolé.
0
xooit21 Messages postés 99 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 4 août 2023
12 févr. 2018 à 20:49
merci de ton aide :)
0