entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Uncaught Error: Call to undefined function mysql_connect()

Buenos días chicos

De un día para otro me ha dejado de funcionar mi web www.soloandamios.com
me da el siguiente error
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /homepages/46/d401575049/htdocs/soloandamio/libreria/cBD.php:10 Stack trace: #0 /homepages/46/d401575049/htdocs/soloandamio/index.php(9): DB->DB() #1 {main} thrown in /homepages/46/d401575049/htdocs/soloandamio/libreria/cBD.php on line 10

El archivo CBD.php tiene el siguiente código



<?php 
class DB {
    function DB() {

        $this->host = _DB_HOST;
        $this->db = _DB_BASE;
        $this->user = _DB_USER;
        $this->pass = _DB_PASS;

        $this->link = mysql_connect($this->host, $this->user, $this->pass);
        mysql_select_db($this->db);
        register_shutdown_function(array(&$this, 'close'));
    }

    function query($query) {
        $result = mysql_query($query, $this->link);
        return $result;
    }

    function quote_smart($value)
    {
        // Stripslashes
        if (get_magic_quotes_gpc()) {
            $value = stripslashes($value);
        }
        // Quote if not integer
        //if (!is_numeric($value)) {
            $value = "'" . mysql_escape_string($value) . "'";
        //}
        return $value;
    }

    function obtenerId()
    {
        return mysql_insert_id($this->link);
    }

    function beginTrans()
    {
        $query = "SET AUTOCOMMIT=0";
        $result = mysql_query($query, $this->link);
    $query = "BEGIN";
        $result = mysql_query($query, $this->link);
    }

    function commitTrans()
    {
    $query  = "COMMIT";
        $result = mysql_query($query, $this->link);
    }

    function rollbackTrans()
    {
    $query  = "ROLLBACK";
        $result = mysql_query($query, $this->link);
    }

    function close() {
        mysql_close($this->link);
    }
}
?>

Por lo que me han comentado la libreria mysql_connect está deprecate 

¿Debería sustituir mysql_connect por esto ?

$mysqli = new mysqli("localhost", "user", "password", "database");  

Muchas gracias 

2 Respuestas

2votos

magarzon Puntos30650

Sí, imagino que tu hosting ha actualizado a la versión 7 de PHP, y por tanto las funciones mysql_ han desaparecido.

Ten cuidado, porque no solo tienes que cambiar mysqlconnect, si no todas las funciones mysql* por sus correspondientes mysqli.

1voto

Leonardo-Tadei Puntos227320

Hola @gonzalss,

comparto la opinión de @magarzon: el servidor actualizó la versión de PHP y la nueva no soporta las funciones mysql_*

Si bien está bueno pensar en pasarse a mysqli_* o a PDO, tal vez el hosting te permita seleccionar entre 2 o 3 versiones de PHP, y con una versión anterior puede seguir funcionando... al menos para darte tiempo a migrar con más tranquilidad.

Saludos cordiales

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta