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

Error al realizar un registro en la bd en un host

Hola, tengo un formulario de registro en PHP y MySQL. De forma local si me funciona todo bien, pero lo subí a un Host y al momento de enviar los datos me manda lo siguiente:


Warning: mysql_connect(): Connection refused in /home/xxx/xx.mx/prueba/dbcontroller.php on line 16

Warning: mysql_query(): No such file or directory in  /home/xxx/xx.mx/prueba/dbcontroller.php on line 34

Warning: mysql_query(): A link to the server could not be established in  /home/xxx/xx.mx/prueba/dbcontroller.php on line 34

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in  /home/xxx/xx.mx/prueba/dbcontroller.php on line 35

Warning: mysql_query(): No such file or directory in  /home/xxx/xx.mx/prueba/dbcontroller.php on line 49

Warning: mysql_query(): A link to the server could not be established in / /home/xxx/xx.mx/prueba/dbcontroller.php on line 49
Invalid query: No such file or directory

Aquí está dbcontroller:

<?php
class DBController {
    private $host = "www.xxxx.mx";
    private $user = "xxx";
    private $password = "xxxx";
    private $database = "xxx";

    function __construct() {
        $conn = $this->connectDB();
        if(!empty($conn)) {
            $this->selectDB($conn);
        }
    }

    function connectDB() {
        $conn = mysql_connect($this->host,$this->user,$this->password);
        return $conn;
    }

    function selectDB($conn) {
        mysql_select_db($this->database,$conn);
    }

    function runQuery($query) {
        $result = mysql_query($query);
        while($row=mysql_fetch_assoc($result)) {
            $resultset[] = $row;
        }
        if(!empty($resultset))
            return $resultset;
    }

    function numRows($query) {
        $result  = mysql_query($query);
        $rowcount = mysql_num_rows($result);
        return $rowcount;
    }

    function updateQuery($query) {
        $result = mysql_query($query);
        if (!$result) {
            die('Invalid query: ' . mysql_error());
        } else {
            return $result;
        }
    }

    function insertQuery($query) {
        $result = mysql_query($query);
        if (!$result) {
            die('Invalid query: ' . mysql_error());
        } else {
            return $result;
        }
    }

    function deleteQuery($query) {
        $result = mysql_query($query);
        if (!$result) {
            die('Invalid query: ' . mysql_error());
        } else {
            return $result;
        }
    }
}
?>

Cabe aclarar que tengo creada la BD en el phpMyAdmin del host.

He buscado y no encuentro una solución. Gracias desde ya.

1 Respuesta

2votos

x4mp73r Puntos13320

Resolví esto de la siguiente manera:
A la función connectDB le agruegué la base de datos:

function connectDB() {
        $conn = mysql_connect($this->host,$this->user,$this->password,$this->database);
        return $conn;
    }

También a la función para usar la bd, selectDB, le removí la variable conn

function selectDB($conn) {
    mysql_select_db($this->database);
}

Leonardo-Tadei comentado Abr 9, 2016

Gracias por compartir la respuesta.
A tu código le faltaba pasarle a la función mysql_connect() los datos de la conexión.

Si te funciona así en local, es por alguna otra cosa que no estás viendo, porque mysqL_connect() siempre necesita los parámetros de conexión.

PD: andá pensando en pasarte a las mysqli* o a las PDP porque las mysql* van a desaparecer pronto.

x4mp73r comentado Abr 9, 2016

Gracias Leonardo, pues en la conexión estaba bien. Exacto, de hecho estoy consciente lo de mysqli, gracias por el consejo, un saludo.

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

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

¿Eres Usuario Apple?

...

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

Conecta