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

Insertar un registro

Estas en el tema de Insertar un registro en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola querida gente: estoy intentando insertar un registro mediante un metodo (funcion insertar) de la siguiente clase. Agrego además las conecciones, aunque creo que ahi ...
  #1 (permalink)  
Antiguo 30/03/2006, 08:34
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
Insertar un registro

Hola querida gente:

estoy intentando insertar un registro mediante un metodo (funcion insertar) de la siguiente clase.
Agrego además las conecciones, aunque creo que ahi no esta el problema.

no tira ningun error, pero al final, imprime el mensaje "registro no insertado" y no lo inserta en la bd.

agradeceré sus aportes.

Código PHP:

class conectarMySQL {
    var 
$servidor
    var 
$usuario
    var 
$password
    var 
$bd//nombre de la base de datos a la que quieres acceder
   
    
var $consulta//aquí se guarda las consultas que se realizan
    
var $enlace//aquí se almacena la conexión con la bd, sí se ha producido
    
var $resultado//aquí se guardan los datos que se generen de una consulta
    
private $table;
    private 
$fieldList;
    private 
$fieldValues;


 function 
conectarMySQL($servidor,$usuario,$password,$bd) {
        
$this->servidor=$servidor;
        
$this->usuario=$usuario;
        
$this->password=$password;
        
$this->bd=$bd;
    }    

 function 
conectar() {
        
//se realiza la conexión a la base de datos
       
if($this->enlace=mysql_connect($this->servidor,$this->usuario,$this->password)) {
               
//se intenta acceder a la base de datos que deseeamos
       
if(mysql_select_db($this->bd,$this->enlace)) {
                echo 
"Conexión correcta";
           } else {
              echo 
"No se ha podido seleccionar la  BD";
            }
       } else {
            
//Si falla la conexión con la base de datos se muestra el mensaje
          
echo "No se ha podido conectar a la bd";
        }                 
    }
    
function 
insertar()
    {
        
       
$RS "INSERT INTO ".$this->tableName" (".$this->fieldList.") VALUES (".$this->fieldValues.")";
    
$result mysql_query($RS,$this->enlace);
    return (
$result == DB_OK) ? TRUE FALSE;
    }

//con esto traigo los valores desde otras clases:
function LetTable($table){
    
$this->tableName=$table;
}
function 
LetFieldList($fieldList){
    
$this->fieldList=$fieldList;
}
function 
LetFieldValues($fieldValues){
    
$this->fieldValues=$fieldValues;

y lo llamo asi:

Código PHP:
$obj=new conectarMySQL("server","User","pass","SARASA");
        
$obj->LetTable($this->tableName);
        
$obj->LetFieldList($this->fieldList);
        
$obj->LetFieldValues($this->fieldValues);
        
        
$obj->conectar();        
        if (
$obj->insertar()):
        echo 
"Registro Insertado";
        else:
        echo 
"registro no insertado";
        endif; 
  #2 (permalink)  
Antiguo 30/03/2006, 08:59
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
Para quien le sirva, Anda bien el script, le habia pasado un nombre de columna incorrecto, todo por no poner el or die en el insert.

saludos.
  #3 (permalink)  
Antiguo 30/03/2006, 11:29
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años
Puntos: 11
Dos cosas:

1) Poné error_reporting(E_ALL) para ver todos los errores que se produzcan así no tenés problemas como ese con los NOTICE, mucha gente no esa esta técnica y se matan depurando errores lógicos...

2) return ($result == DB_OK) ? TRUE : FALSE; Los TRUE Y FALSE no te hacen falta en este caso ya que la comparación que está entre paréntesis devuelve TRUE o FALSE en sí.

Saludos.
  #4 (permalink)  
Antiguo 05/04/2006, 14:43
 
Fecha de Ingreso: abril-2006
Mensajes: 5
Antigüedad: 18 años
Puntos: 0
Sonrisa

Cita:
Iniciado por gnfrs
Dos cosas:

1) Poné error_reporting(E_ALL) para ver todos los errores que se produzcan así no tenés problemas como ese con los NOTICE, mucha gente no esa esta técnica y se matan depurando errores lógicos...

[/COLOR][/COLOR][/COLOR]
Hola, a que te referis con error_reporting(E_ALL)?

Saludos y gracias
  #5 (permalink)  
Antiguo 06/04/2006, 07:02
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 19 años, 11 meses
Puntos: 2
gnfrs a los golpes lo aprendí, gracias!!

tripit, se refiere a esto:
Código PHP:

    $result 
mysql_query($RS,$this->enlace) or die($RS mysql_error());
    
    
    return (
$result == DB_OK) ? TRUE FALSE
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 22:28.