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 Puntos13390

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);
}

2votos

Leonardo-Tadei comentado

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.

1voto

x4mp73r comentado

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.

Otras Preguntas y Respuestas


...

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

Conecta