Conexión a phpMyAdmin en PHP (Synology)

Hola, Hablo español. Aquí tienes la traducción solicitada: Hola,

Estoy alojando mi sitio en un servidor Synology, para conectarme a mi base de datos escribí en mi código PHP lo siguiente:

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

el problema es que recibo este mensaje:

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

Configuration: Macintosh / Safari 11.0.3

6 respuestas

  1. xooit21 Puedo ayudarte mucho o tal vez un poco, pero está claro que es un error de intercepción "PDOException".
    ¿Estás seguro de que no habría otra variable definida en lugar de PDO?
    1. ¡Hola!
      Te falta "host":
      $bdd = new PDO("mysql:host=localhost;dbname=table", "username", "password");

      Creo que eso resolverá tu problema !

      (Lo que me dio la respuesta: PDO->__construct() /volume1/web/inscription.php:4, indica un error en el constructor, así que cuando llamas a new PDO)
      1. Hola,
        He añadido el "host" pero todavía no funciona.
      2. ¿El hecho de que Phpmyadmin esté en mi Synology cambia algo? a nivel de la dirección

        $bdd = new PDO('mysql:host=localhost;dbname=table;' ,'root' , ' ' );
      3. Sí, entonces hay que poner la dirección de tu Synology.
        host=192.168.1.45 por ejemplo.
        Solo te queda encontrarla :)
    2. Hola

      Si el mensaje te dice que no ha encontrado un controlador, tienes un problema de configuración - independientemente de tus otros errores.
      ¿Puedes hacer un script que haga simplemente
      phpinfo();
      para ver cuál es tu configuración de PHP, y comprobar si existe o no un driver PDO para mysql?
      1. Normalmente, es solo la parte superior de la página, eso es todo.
        Arriba, hay la versión de PHP
        Y más abajo, hay un montón de secciones, entre ellas una que habla de los drivers PDO. Aquí un extracto del phpinfo de uno de mis sitios como ejemplo:


        Allí, se ve que hay un driver PDO para mysql.
        1. Efectivamente, en el controlador PDO tengo "no value". ¿Cómo puedo cambiarlo?
        2. En el archivo php.ini hay una línea
          extension=php_pdo_mysql.dll
          para colocar o descomentar si está comentada.
          PERO
          - no estoy seguro de que el archivo también se llame php.ini en Linux (estoy en Windows)
          - la extensión no será .dll en Linux, pero mirando las líneas de alrededor encontrarás la extensión correcta para Linux.
          - si el archivo de extensión no está presente físicamente en tu sistema, no sirve de nada indicárselo, salvo para provocar que el servidor falle al arrancar.

          Si tienes un responsable de sistemas que gestione este servidor, acércate a él para exigir un driver PDO para mysql.
        3. Otra sugerencia: prescindir de PDO. Si eres tú quien escribe el script, puedes usar mysqli.
        4. En mi servidor Synology no puedo acceder al archivo php.ini (no sé cómo hacerlo, no es visible), ¿por lo tanto debo quitar PDO?
        5. Hay varias formas en PHP para acceder a una base de datos MySQL. PDO es una metodología, mysqli es otra. Si no puedes usar PDO, usa mysqli.
      2. aquí

        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. He enviado un mensaje al soporte de Synology para ver si se debe a una mala configuración de mi servidor.
        3. No tengo idea de cómo aprovechar eso. Lo siento.
        4. muchas gracias por tu ayuda :)