Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

no se conecta como localhost, si con el hostname

Estas en el tema de no se conecta como localhost, si con el hostname en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola gente, estuve dandome la cabeza contra el escritorio intentando solucionar el siguiente error: al intentar conectarme a la base, me aparecía el siguiente mensaje: ...
  #1 (permalink)  
Antiguo 15/12/2008, 06:03
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
no se conecta como localhost, si con el hostname

Hola gente, estuve dandome la cabeza contra el escritorio intentando solucionar el siguiente error:

al intentar conectarme a la base, me aparecía el siguiente mensaje:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in ...

Revisé todo y no habia inconvenientes a la vista, pero se me dió por cambiar el primer parámetro de conectarMySql, y en lugar de ponerle localhost, le puse el nombre de mi pc y ahi arrancó.

El tema es que quisiera trabajarlo con localhost, para que en cualquiera de las pc de desarrollo se conecte a la base local. Como debo hacerlo?




No anda:
Código PHP:
class DB extends conectarMySQL
{
    function 
__construct()
    {

        
$this->conectarMySQL("localhost","usr","pwd","bd");
        
$this->conectar();

    }

si anda:
Código PHP:
class DB extends conectarMySQL
{
    function 
__construct()
    {

        
$this->conectarMySQL("server1","usr","pwd","bd");
        
$this->conectar();

    }

  #2 (permalink)  
Antiguo 15/12/2008, 09:47
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: no se conecta como localhost, si con el hostname

Hola moron

El error
Cita:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in ...
Es por que tienes errores e la consulta, no tiene que ver con la conexíon

Quien tiene la Db principal tu pc o el server1? o son la misma cosa?
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 15/12/2008, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no se conecta como localhost, si con el hostname

Tema trasladado a PHP Orientado a Objetos.

Lee la funcion de la seccion de Bdd: http://www.forosdelweb.com/f21/funci...-datos-413499/
  #4 (permalink)  
Antiguo 15/12/2008, 11:32
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
Respuesta: no se conecta como localhost, si con el hostname

Hola, es la misma maquina.
  #5 (permalink)  
Antiguo 15/12/2008, 12:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no se conecta como localhost, si con el hostname

Haz visto lo que te dejo Genetix? El error, not a valid result resource es que tienes un error en la consulta, trata de imprimir el valor de mysql_error() para que veas porque te lanza el error.

Saludos.
  #6 (permalink)  
Antiguo 17/12/2008, 11:51
isra00
Invitado
 
Mensajes: n/a
Puntos:
Hola, creo que tengo el mismo problema que tú, y es porque el recurso de conexión no es visible para el método que ejecuta la consulta. Yo también tengo una clase conexión, con un atributo "recurso":
Código PHP:
public function __construct() {
   
$this->mRecurso mysql_connect(...);

Cuando ejecuto consultas, aunque las consultas están bien formuladas, PHP no encuentra ningún recurso de conexión por defecto. Supongo que una solución es especificar en todas las consultas qué manejador de conexión vamos a usar, y almacenar éste en una variable superglobal, por ejemplo $GLOBALS['conexion']. Mi código ha quedado así:

Código PHP:
$conexion = new ConexionMysql();
$conexion->SeleccionarBd("ven");
$GLOBALS['conexion'] = $conexion->GetRecurso(); //GetRecurso() devuelve el manejador de conexión Mysql 
Y en el método que ejecuta la consulta:
Código PHP:
$this->mConsulta = new Consulta($consulta$GLOBALS['conexion']); 
Espero que solucione tu problema! Yo también me he dado cabezazos

Más información:
http://es.php.net/manual/es/reserved...es.globals.php
http://es.php.net/manual/es/language...perglobals.php

Otra solución, aunque bastante fea y aparatosa, es pasar a los métodos un parámetro más que fuese el recurso de conexión (o un objeto del que se pueda extraer).

Última edición por GatorV; 17/12/2008 a las 13:18
  #7 (permalink)  
Antiguo 17/12/2008, 13:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no se conecta como localhost, si con el hostname

U otra más limpia crear un método en tu clase ConexionMysql que se llame Consulta, y dentro de esta creas el objeto Consulta, y le pasas el parámetro de la clase, por ejemplo:
Código php:
Ver original
  1. public function Consulta($consulta) {
  2.       return new Consulta($consulta, $this->mRecurso);
  3. }

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:53.