Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/05/2011, 13:32
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Problema con mysql_query y operador OR

Buenas noches gente, estoy iniciándome en PHP y he tratado de hacer una clase para manejar las funciones mysql, pero me está dando problemas De momento lo tengo así:
Código PHP:
Ver original
  1. class BD {
  2.         function __construct($server, $user, $pass){
  3.             $this -> conexion = mysql_connect($server, $user, $pass)
  4.                                  or die('No ha sido posible conectarse a la base de datos. Error: ' . mysql_error());
  5.         }
  6.         function selec($db = 'BD'){
  7.             return mysql_select_db($db, $this -> conexion) or die('No ha sido posible seleccionar la base de datos. Error: ' . mysql_error());
  8.         }
  9.         function buscar($query, $tabla = 'tabla', $opc = ''){
  10.             return mysql_query('SELECT ' . trim($query or '*')
  11.                              . ' FROM ' . trim($tabla)
  12.                              . ($opc),
  13.                             $this -> conexion) or die('No ha sido posible realizar la búsqueda en la base de datos. Error: ' . mysql_error());
  14.         }
  15.         function insertar($tabla, $campos = 'id', $valores = 'NULL'){
  16.             return mysql_query('INSERT INTO ' . trim($tabla or 'tabla')
  17.                              . ' (' . trim($campos) . ')'
  18.                              . ' VALUES (' . trim($valores) . ')',
  19.                             $this -> conexion)
  20.              or die('No ha sido posible insertar el registro en la base de datos. Error: ' . mysql_error());
  21.         }
  22.         function actualizar($tabla, $act, $opc = ''){
  23.             return mysql_query('UPDATE '
  24.                             . trim($tabla or 'tabla')
  25.                             . ' SET ' . trim($act)
  26.                             . $opc,
  27.                             $this -> conexion)
  28.              or die('No ha sido posible actualizar la base de datos. Error: ' . mysql_error());
  29.         }
  30.         function borrar($tabla, $espec = '1'){
  31.             return mysql_query('DELETE FROM '
  32.                             . trim($tabla or 'tabla')
  33.                             . ' WHERE '
  34.                             . trim($espec),
  35.                             $this -> conexion)
  36.              or die('No ha sido posible borrar el registro en la base de datos. Error: ' . mysql_error());
  37.         }
  38.         function error(){
  39.             return mysql_error();
  40.         }
  41.         function cerrar(){
  42.             return mysql_close($this -> conexion);
  43.         }
  44.     }
Y si por ejemplo hago algo como:
Código PHP:
Ver original
  1. $DB = new BD('localhost', 'root', 'password');
  2.     $DB -> selec('proyecto');
  3.     $cursos = $DB -> buscar('*', 'cursos', ' ORDER BY posicion ASC');
  4.     while($curso = mysql_fetch_array($cursos)){
  5.         echo $curso['nombre'] . '<br />';
  6.     }
  7.     $DB -> cerrar();
Me dice que mysql_fetch_array espera un resource pero recibió un boolean. Me imagino que el problema tendrá que ver con el OR, pero por ejemplo en la función constructora o en selec también está el OR y no me devuelve un boolean. ¿Cuál es entonces el problema?
Saludos y gracias de antemano :D
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red