Foros del Web » Programando para Internet » PHP »

phplib + php + ms sqlserver...ayuda con conexion!!

Estas en el tema de phplib + php + ms sqlserver...ayuda con conexion!! en el foro de PHP en Foros del Web. Hola, tengo un dilema y se me esta haciendo muy complicado este trabajo. y ojala me puedan ayudar. (utilizo php,ms sqlserver, phplib ) tengo una ...
  #1 (permalink)  
Antiguo 03/04/2006, 15:43
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
phplib + php + ms sqlserver...ayuda con conexion!!

Hola, tengo un dilema y se me esta haciendo muy complicado este trabajo. y ojala me puedan ayudar.

(utilizo php,ms sqlserver, phplib )



tengo una base de datos y rescatar informacion personal de un alumno con el rut.

a traves de una pagina web tengo un form con dos campos, rut y su digito , si el usuario ingresa su rut y su digito verificador el sistema me tiene que devolver la informacion personal del alumno (nombre,apellidos,fono,edad,etc..) en caso contrario un mensaje de error.



estoy utilizando phplib para manejar el acceso a base de datos ms sqlserver mediante procedimientos almacenados.



dejo el codigo de lo que he avanzado hasta el momento


codigo:form.php


Código PHP:

<form action="resul.php" method="GET">
Ingrese su Rut:<input type="text" name="env_rut" onKeypress="LP_data()">
-
<
input type="text" name="env_dig"size="2"  maxlength="3" >
<
BR>
<
input type="submit" name="acceder" value="acceder">

</
form
.................................................. .................................................. ......................

resul.php


Código PHP:
if(empty($_GET["env_rut"])) {
header("location:index.php");
exit;
}
require(
"conexion_bd.php");

$v_rut=$_GET["env_rut"];
$v_dig=$_GET["env_dig"];
$sql " exec AP_procedur" $v_rut $v_dig;

if (!
$q->query($sql)){
   echo 
'No se ha podido establecer una conexión con el servidor<br>';
   }else{
   while(
$q->next_record()!= 0) {
      
$cap_rut=$q->f('rut');
      
$cap_dig=$q->f('digito');
      
$cap_nomb=$q->f('nombre');
      }

   if (
$cap_rut == $v_rut){
      if(
$cap_dig == $v_dig){
      echo 
$cap_dig."<br>";
      echo 
$cap_rut."<br>";
      echo 
$cap_nomb."<br>";
      }else{
      echo 
"Dígito Verificador Erróneo";
      }
      echo
"error Rut";
      }
   }
?> 


me arroja error en la consulta que hago para ejecutar el procedimiento...



conex.php

.................................................. .................................................. ..................
Código PHP:
<?php
include ('db_mssql.inc');

$q = new DB_MSSQL ;

$q->Host "servidor";
$q->Database "name_basedatos";
$q->User "yo";
$q->Password "yo";

?>

.................................................. .................................................. ........................

me conecto con la libreria , y tengo instalada la libreria de db_mssql.php en la ruta de mis archivos, y tengo activada la opcion en php.ini

ayuda maestros!!!!
__________________
Cristian...
  #2 (permalink)  
Antiguo 03/04/2006, 16:22
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Cual es el error que te arroja?

En esta linea: $sql = " exec AP_procedur" + $v_rut + $v_dig;
Imagino que debiera ser:

$sql = " exec AP_procedure " + $v_rut + $v_dig;
  #3 (permalink)  
Antiguo 04/04/2006, 11:45
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
mensaje de error

Hola Claudio, gracias por contestar, mira..el asunto es que estoy trabajando en red y la base de datos esta en otro pc por lo que no se si es la sintaxis.puesto que es pr_algo_algo y mi labor es ejecutar ese procedimiento que fue realizada por la persona que maneja procedimientos almacenados con sql server, yo ni idea de ese tema.. estoy recomplicado no se si lo que esto haciendo està bien..necesito tu ayuda ''master..

te dejo el error..

Código PHP:

Warning
mssql_query() [function.mssql-query]: messageL&#237;nea 1: sintaxis incorrecta cerca de '1540145'. (severity 15) in C:\Archivos de programa\Apache Group\Apache2\htdocs\cosalenuevo\test\cardio\db_mssql.inc on line 80

Warningmssql_query() [function.mssql-query]: Query failed in C:Archivos de programaApache GroupApache2htdocscosalenuevotestcardiodb_mssql.inc on line 80

Database error
Invalid SQL1540145
MSSQL Error
(General Error (The MSSQL interface cannot return detailed error messages).)

Session halted
puede ser la
__________________
Cristian...
  #4 (permalink)  
Antiguo 04/04/2006, 13:34
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
A ver, aclaremos.

1) ¿Cual es el nombre exacto del procedimiento almacenado?
2) ¿El procedimiento cuantos parametros recibe y de que tipo (tipo de dato) son estos parametros?
3) ¿Estos parametros tienen algun formato en especial?

PD: me parece que existe una forma más segura de implementar llamadas a procedimientos almacenados que esta que estás usando, sería bueno investigar sobre ello en:

www.php.net/manual/es/ref.mssql.php
  #5 (permalink)  
Antiguo 06/04/2006, 14:04
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 3 meses
Puntos: 1
Claudio, mira existian 2 problemas, primero; el procedimiento que me entragon estaba mal escrito, segundo la sintaxis de la consulta estaba erronea (+ por .)
y tercero tuve que instalar ms sqlserver para poder tener conectividad.
$sql = " exec AP_procedur " .$v_rut;

y me funciono a la perfeccion..de todas maneras gracias..

ahh claudio tengo otra consulta, me gustaria usar la clase que maneja sesiones a traves de phplib, tienes algun ejemplo, he revisado algunos tutoriales pero no me queda muy claro..

saludos y gracias de nuevo.
__________________
Cristian...
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 16:02.