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

Conexión a MySQL por una parte, extraer datos por otra

Estas en el tema de Conexión a MySQL por una parte, extraer datos por otra en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Soy nuevo en la orientación a objetos en PHP, hasta ahora solo la he tocado en java. Estoy haciendo un sistema de login y tengo ...
  #1 (permalink)  
Antiguo 26/04/2009, 06:55
 
Fecha de Ingreso: diciembre-2002
Mensajes: 49
Antigüedad: 21 años, 5 meses
Puntos: 0
Soy nuevo en la orientación a objetos en PHP, hasta ahora solo la he tocado en java.

Estoy haciendo un sistema de login y tengo por una parte el archivo connection.php que se conecta a la base de datos, el archivo user.php que me da información de los usuarios de la base de datos y el main.php, que sería el controlador.

Bien, pues me ocurren 2 problemas, que no tengo ni puta idea de por que:
Cita:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Archivos de programa\xampp\htdocs\model\user.php on line 18

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Archivos de programa\xampp\htdocs\model\user.php on line 20
El main es el siguiente:
Código PHP:
<?
    
include_once('model/connection.php');
    include_once(
'model/user.php');
    
    
$lnk = new connection();
    
$usr = new user('marco','polo');
    echo 
$usr->exist($lnk);
?>
El connection:
Código PHP:
<?
    
class connection {
        private static 
$server 'localhost';
        private static 
$user 'root';
        private static 
$password '';
        private static 
$database 'proyecto';
        var 
$link;
        
        public function 
connection() {
                
$this->link mysql_connect($server,$user,$password);
                
mysql_select_db($database,$this->link);
                
                return 
$this->link;
        }
        
        public function 
disconnection() {
                
mysql_close($this->link);
        }
    }
?>
Y el user.php con el que comprueblo si existe el usuario creado en la base de datos o no, me deuvelve true o false en teoría:
Código PHP:
<?
    
class user {
        private 
$id;
        private 
$user;
        private 
$password;
        private 
$email;
        private 
$date;
        private 
$type;
        private 
$samples;
        var 
$result;
        
        public function 
user($user$password) {
                
$this->user $user;
                
$this->password $password;
        }
        
        public function 
exist($link) {
                
$this->result mysql_query("SELECT password FROM users WHERE user='$this->user'",$link);
                                             
                if(
$row mysql_fetch_array($this->result)) {
                        if(
$row['password'] == $this->password) return true;
                        else return 
false;
                } else return 
false;
        }
        
        public function 
login($recordar) {
                if (
$recordar == "on"setcookie('data',$this->user.",".$this->password,time()+7776000);
                
$_SESSION['logued'] = $this->user;
        }
    }
?>
A ver si me podríais echar una mano, gracias.

Buf, me estoy dando cuenta de que le estoy pasando un objeto entero a user.php, xDD
Bueno pero el segundo error sigue saliendo.

Última edición por GatorV; 26/04/2009 a las 09:49
  #2 (permalink)  
Antiguo 26/04/2009, 09:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Conexión a MySQL por una parte, extraer datos por otra

Es el mismo problema, siempre es bueno probar el resultado de mysql_fetch_array e imprimir el valor de mysql_error, algo sencillo es:
Código php:
Ver original
  1. mysql_query( $query ) or die( mysql_error() );

Por otro lado en tu clase usas variables del tipo "private static", esas no van a ser parte de tu objeto ya que el static hace que sean estaticas, en php para leer una clase estatica es NombreClase::$variable, cuando no son estaticas es $this->valor.

Saludos.
  #3 (permalink)  
Antiguo 26/04/2009, 14:59
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años
Puntos: 1
Respuesta: Conexión a MySQL por una parte, extraer datos por otra

WOw, me impresiono y no se porke la gente se hace la vida tan complicada!! miren les dejo un sccript para ke lo vean

Código PHP:
<?php
$usuario 
$_POST["usuario"];
$password $_POST["password"];
$puch $_POST["puch"];

if(
$puch != NULL) {
if(
$usuario && $password != NULL) {
include(
"php/sql.php");


$new mysql_query("SELECT * FROM usuarios WHERE usuario='$usuario'");
$con mysql_fetch_array($new);
if((
$con["usuario"] == $usuario) && ($con["password"] == $password)) {


echo 
"LOGIN EXITOSO!";


}
else {
echo 
"Usuario/ Contraseña Incorrectos";
}




}
else {
echo 
"Un Campo esta vacio";
}



}

?>
ese es uno simple y efectivo

ademas le spongo el sql.php

Código PHP:

mysql_connect
("localhost""user""pass");
mysql_select_db("DataBase"); 

Última edición por AztekaMX; 26/04/2009 a las 15:05
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 09:06.