SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: giomar en Viernes 21 de Julio de 2006, 00:48

Título: Funciones En Php
Publicado por: giomar en Viernes 21 de Julio de 2006, 00:48
Hola amigos de solocodigo, queria consultar si es correcto este codigo:

function ConexionTabla ($SentenciaSQL) {
   $RegistrosSQL = mysql_query($SentenciaSQL);
   
   if (!$RegistrosSQL) {
      echo "Error! En la conexión a la tabla especificada...";
   }
   
   return $RegistrosSQL;
}

lo tengo en una libreria php (phpscript.php), la que llamo con la funcion require en la pagina que necesito, lo que pasa es que estoy haciendo un logeo de usuario, me conecto a mi server y base de datos (mysql), con otra funcion, todo bien hasta ahi, el problema es cuando quiero trabajar con la tabla, bueno llamo a la function anterior no me muestra error pero cuando comparo los datos me doy cuenta que la variable donde almaceno el return de la funcion esta vacia.

$Resultado = ConexionTabla("select Id_Usu, User_Usu, Pass_Usu from usuario where User_Usu='".$_POST['txtUsuario']."' and Pass_Usu='".$_POST['txtContrasena']."'");
   
$Registros = mysql_num_rows($Resultado);

Asi me conecto a la tabla no me muestra error pero $Registros esta siempre vacia.

Esta bien lo que estoy haciendo.

Deseo crear un funcion que me conecte con mi tabla y me devuelva la consulta realizada, por eso cree esta funcion, pero no se en donde me estoy equivocando, quizas no es manera correcta de hacerlo, por favor denme una manito en esto.
Título: Re: Funciones En Php
Publicado por: Informix en Sábado 22 de Julio de 2006, 18:27
Hola amigo giomar lo que necesitas hacer es primero hacer la conexion a la base de datos, para esto existe la funcion mysql_connect()  puedes consultar su sintaxis y documentacion aqui (http://www.php.net/manual/es/function.mysql-connect.php)

despues necesitas seleccionar la base de datos a usar con mysql_select_db() consulta la info aqui (http://www.php.net/manual/es/function.mysql-select-db.php)

y ya despues haces la consulta y no tiene por que regresarte algo vacio al menos que la tabla no contenga datos


Código: Text
  1.  
  2. function ConexionTabla ($SentenciaSQL) {
  3. //conectando a la BD
  4. $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
  5. if (!$link) {
  6.     die('No se puede conectar: ' . mysql_error());
  7. }
  8.  
  9. //seleccionando BD
  10. $db_selected = mysql_select_db('nombre_de_tu_BD', $link);
  11. if (!$db_selected) {
  12.    die ('No se puede seleccionar BD : ' . mysql_error());
  13. }
  14.  
  15. $RegistrosSQL = mysql_query($SentenciaSQL, $link);
  16.  
  17. if (!$RegistrosSQL) {
  18. echo "Error! En la conexión a la tabla especificada...";
  19. }
  20.  
  21. return $RegistrosSQL;
  22. }
  23.  
  24.  

el codigo lo hice asi rapidin hechale un vistazo a la documentacion y espero te sea de ayuda, ya sabes cualquier duda pregunta en el foro  :D
Título: Re: Funciones En Php
Publicado por: ciber_lep en Lunes 24 de Julio de 2006, 20:56
eso que menciona informix es cierto, ademas como sugerencia mejor trabaja con variables,
Citar
User_Usu='".$_POST['txtUsuario'].
de la forma
$Usuario= $_POST['txtUsuario'];
y luego
en la cadena de conexion haces:
User_Usu='$Usuario'.

espero te sirva, aunque no hay inconveniente en la forma que lo haces.  :hola: