Connection to phpMy Admin in php (Synology)

xooit21 Posted messages 109 Status Member -  
xooit21 Posted messages 109 Status Member -
Hello,

I host my website on a Synology server, to connect to my database I wrote in my PHP code:

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

The problem is that I receive this 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

Best regards

Configuration: Macintosh / Safari 11.0.3

6 answers

  1. Anonymous user
     
    Hello

    If the message tells you that it didn't find a driver, you have a configuration problem - regardless of your other errors.
    Can you make a script that simply
    phpinfo();
    to see what your PHP configuration is and check whether or not there is a PDO driver for mysql?
    1
  2. TheHitekFive Posted messages 2 Status Member
     
    xooit21 I can greatly help you or maybe a little, but it's clearly a "PDOException" interception error.
    Are you sure there wouldn't be another variable sometimes instead of PDO?
    0
  3. XDamienX007 Posted messages 4244 Registration date   Status Member Last intervention   420
     
    Hello!
    You're missing "host":
    $bdd = new PDO("mysql:host=localhost;dbname=table", "username", "password");

    I think that will solve your problem!

    (What gave me the answer: PDO->__construct() /volume1/web/inscription.php:4, it indicates an error on the constructor, so when you call new PDO)
    0
    1. xooit21 Posted messages 109 Status Member
       
      Hello,
      I added the "host" but it still doesn't work.
      0
    2. xooit21 Posted messages 109 Status Member
       
      Yes, having PhpMyAdmin on your Synology might change something regarding the address. You may need to replace `localhost` with the IP address of your Synology or `127.0.0.1`, depending on your network setup. The connection string would then look like this: ```php $bdd = new PDO('mysql:host=YOUR_SYNOLOGY_IP;dbname=table;', 'root', ' '); ```
      0
    3. XDamienX007 Posted messages 4244 Registration date   Status Member Last intervention   420
       
      Yes, so you need to enter the address of your Synology!
      host=192.168.1.45 for example.
      You just have to find it now :)
      0
  4. xooit21 Posted messages 109 Status Member
     
    Here is the script:

    0
  5. Anonymous user
     
    Normally, that's just the top of the page.
    Above, there is the PHP version
    And below, there are a bunch of sections, including one that talks about PDO drivers. Here is an excerpt from the phpinfo of one of my sites as an example:


    There, we can see that there is a PDO driver for mysql.
    0
    1. xooit21 Posted messages 109 Status Member
       
      effectively in PDO driver I have no value, how can I change that?
      0
    2. Anonymous user
       
      In the php.ini file, there is a line
      extension=php_pdo_mysql.dll
      to include or uncomment if it is commented.
      BUT
      - I am not sure if the file is also called php.ini under Linux (I am on Windows)
      - the extension is certainly not .dll under Linux, but by looking at the neighboring lines, you will find the correct extension for Linux.
      - if the extension file is not physically present on your system, it is pointless to indicate it, otherwise it will cause your server to crash on startup.

      If you have a system administrator managing this server, contact them to request a PDO driver for mysql.
      0
    3. Anonymous user
       
      Another suggestion: do without PDO. If you're the one writing the script, you can use mysqli instead.
      0
    4. xooit21 Posted messages 109 Status Member
       
      In my Synology server, I cannot access the php.ini file (I cannot find how to do it, it's not visible), so I need to remove PDO?
      0
    5. Anonymous user
       
      There are several ways in PHP to access a MySQL database. PDO is one method, mysqli is another. If you can't use PDO, use mysqli.
      0
  6. xooit21 Posted messages 109 Status Member
     
    Here is the translation: voila

    0
    1. xooit21 Posted messages 109 Status Member
       
      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
    2. xooit21 Posted messages 109 Status Member
       
      I sent a message to Synology support to see if it could be a misconfiguration of my server.
      0
    3. Anonymous user
       
      No idea how to leverage this. Sorry.
      0
    4. xooit21 Posted messages 109 Status Member
       
      You're welcome! :)
      0