Connection to phpMy Admin in php (Synology)

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. 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?
    1. 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)
      1. Hello,
        I added the "host" but it still doesn't work.
      2. 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', ' ');
        ```
      3. 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 :)
    2. 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. 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.
        1. effectively in PDO driver I have no value, how can I change that?
        2. 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.
        3. Another suggestion: do without PDO. If you're the one writing the script, you can use mysqli instead.
        4. 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?
        5. 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.
      2. Here is the translation: voila

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