Nueva pregunta

Pregunta:

Fecha: 24-06-2017 12:54:52 (En Español)

Error Call to undefined function mysql_connect() en MySQLDumper[Resuelta]

Hola a todos, me llamo María y soy nueva en este mundo del php y mysql.

Estoy "jugando" con php y mysql para aprender, y estuve haciendo backups de una bases de datos y restauración de las misma; ésto lo hice y practiqué con una base de datos chica. Pero como soy curiosa y quise ir un poco mas allá, traté de hacer lo mismo con una base de datos mas grande y acá es donde vinieron los problemas..

Utilicé phpmyadmin para hacer el backup, pero al querer restaurar la misma me da error, leí por ahí que mysqldumper soluciona ese problema, sin embargo al querer insatalarlo me da el siguiente error:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\backup\inc\mysql.php:257 Stack trace: #0 C:\xampp\htdocs\backup\install.php(237): MSD_mysql_connect() #1 {main} thrown in C:\xampp\htdocs\backup\inc\mysql.php on line 257

Como podrán observar, las pruebas y prácticas que hago, las realizo sobre un localhost, usando xampp.
Pongo los datos abajo para que sepan que versiones estoy utilizando:

Versión del servidor: 10.1.22-MariaDB
Apache/2.4.25 (Win32)
Versión del cliente de base de datos: libmysql - mysqlnd 5.0.12-dev
Versión de PHP: 7.1.4

Espero me puedan ayudar a resolver el problema o en su defecto me ayuden a lograr importar o restaurar una base de datos grande.

Gracias.
Etiquetas: Base de Datos - Error - MySQL - PHP - Pregunta Votos: 0 - Respuestas: 3 - Vistas: 8 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 25-06-2017 13:37:45 Hola María,

    El error se debe a que la función mysql_connect() es obsoleta desde PHP 5.5 y eliminada de PHP 7. Por alguna razón, el phpmyadmin que tienes instalado no está actualizado con esos cambios. La verdad no sé con cuánta frecuencia actualizan esa aplicación, pero debido a su uso asumo que con bastante frecuencia así que supongo que tu "XAMPP" no la tiene actualizada.

    A ver ... soluciones:

    1. Usa una versión de XAMPP con PHP 5.x (aunque la función está declarada obsoleta, aún funciona en esas versiones)

    2. Actualiza phpmyadmin. No es tan complicado, solo hay que descargarlo desde su página oficial y buscar por Google una guía de cómo acualizar XAMPP con un nueva versión de phpmyadmin, hay varias por allí e incluso uno que otro vídeo.

    En cuanto al entorno de desarrollo, eso es lo principal. Cuando vayas a programar te recomiendo que leas en el manual de PHP la sección sobre MySQLi o mejor aún PDO, ésta última es la más recomendada al momento de desarrollar aplicaciones que acceden a bases de datos relacionales ya que te permite trabajar con MySQL, Postgre, SQL Server, entre muchas otras, prácticamente sin modificar el código.

    No te ofrezco la solución completa, pero espero haberte puesto en el camino. ¡Éxito!
      Votos: 2 - Link respuesta
     
  • Fecha: 28-06-2017 10:56:41 Mysql_connect esta obsoleto Puedes intentar con mysqli_connect o realizar tu conexión con pdo

    
    <?php
    
    try{
    
        $conn = new PDO('mysql:host=localhost;dbname=mibasededatos', $usuario, $password);
    
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    }catch(PDOException $e){
    
        echo "ERROR: " . $e->getMessage();
    
    }
    
    ?>
      Votos: 0 - Link respuesta
     
  • Fecha: 29-06-2017 09:45:54 Hola a todos, primero gracias por tomarse la molestia de responderme, pero encontré una solución que realmente me sirvió y es muy sencilla (lo hice con windows 7):

    Ir a "Inicio" --> escribir cmd en la casilla de búsqueda --> "enter".
    Una vez abierto la terminal de windows hay que ir a la carpeta bin de MySQL, en mi caso se encuentra en:
    C:\xampp\mysql\bin
    entonces en la consola puse:

    1-
    C:\User\Mari>cd C:\xampp\mysql\bin
    --> enter y me quedó los siguiente:

    2-
    C:\xampp\mysql\bin>


    ahora, hay que entrar a la cuenta de usuario de mysql, asi que puse:

    3-
    C:\xampp\mysql\bin>mysql -u nombredeusuario -p
    --> enter y nos pide la contraseña, la ponemos y nos queda lo siguiente: (nombredeusuario es el usuario que uds tengan en mysql o phpmyadmin, como en mi caso)

    4-
    MariaDB [<none>]>


    Acá a mi me aparece MariaDB en vez de mysql, porque mi xampp ya vino con MariaDB, pero a uds por ahí les aparece MySQL en vez de MariaDB.
    Como vemos no tenemos seleccionada ninguna base de datos, como yo quería importar una base de datos completa, y no una tabla en particular, lo dejé asi.
    Ahora lo que hice fue importar la base de datos que quería poniendo lo siguiente:

    5-
    MariaDB [<none>]>source e:/bases/pruebas/mibase.sql


    e:/bases/pruebas/ --> ésta es la ruta en donde está ubicada mi base de datos llamada mibase.sql.
    Como verán en la ruta tuve que usar barras invertidas a pesar de estar trabajando en win7. Probé con las barras \ que utiliza windows para separar las carpetas en la ruta, pero no me funcionó, por ahí a alguno de ustedes les funciona.
    Cuando le damos a enter después de poner lo anterior, en la consola van a ver como muchas lineas de código que van muy rápido, eso significa que está importando la base de datos grande.

    En el caso de que se quiera importar una tabla previamente exportada por algún otro gestor de base de datos o con el mismo mysql-phpmyadmin, es necesario seleccionar la base de datos a la que se va a importar la tabla, así que en el punto 3- tendríamos que poner:


    C:\xampp\mysql\bin>mysql -use nombredelaBaseDeDatos -u nombredeusuario -p


    nos pide el pass, lo ponemos y damos enter y nos quedaría:


    MariaDB [nombredelaBaseDeDatos]>


    y listo, continúan en el paso 5, con la salvedad que el archivo sql va a ser insertado como una tabla dentro de la base de datos seleccionada.

    Ej:

    usuario de phpmyadmin: kity
    pass: 123456
    Base de datos: mibase.sql
    Tabla: mitabla.sql
    Ubicación de la base de dato: d:\agenda\prueba\mibase.sql
    Ubicación de la tabla exportada previamente: c:\agenda\exportados\mitabla.sql

    dendtro del cmd:


    Importando la base de datos completa:
    1-Entramos al directorio de mysql
    C:\User\Mari>cd C:\xampp\mysql\bin


    2-Entramos al usuario al que le queremos importar la base de datos
    C:\xampp\mysql\bin>mysql -u kity -p
    Enter password: 123456

    --> colocamos la contraseña y damos enter.

    3-Importamos la base de datos mibase.sql
    MariaDB [<none>]>source d:/agenda/prueba/mibase.sql


    Listo.

    Importando una tabla a una base de datos:
    1-Entramos al directorio de mysql
    C:\User\Mari>cd C:\xampp\mysql\bin


    2-Entramos al usuario al que le queremos importar la tabla y a la base de datos a la que queremos importar la tabla:
    C:\xampp\mysql\bin>mysql -use mibase -u kity -p
    Enter password: 123456

    --> colocamos la contraseña y damos enter.

    3-Importamos la base de datos mibase.sql
    MariaDB [mibase]>source c:/agenda/exportados/mitabla.sql


    Listo.


    Espero que le sirva a alguien.
    Saludos!
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com