Autor Tema: NO ejecuta sql en Ms SQL desde PHP  (Leído 538 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sanjes2003

  • Novato
  • *
  • Mensajes: 3
  • Puntuación: 0
    • Ver Perfil
NO ejecuta sql en Ms SQL desde PHP
« : 31 de marzo de 2009, 04:27:35 pm »
BUENAS TARDES...

DE ANTEMANO GRACIAS POR LA AYUDA QUE PUEDAN PRESTAR A MI DUDA QUE ES LA SIGUIENTE:
TENGO UNA BASE DE DATOS EN MSSQL QUE YA HE LOGRADO ACCESAR DESDE PHP, LO UNICO QUE POR CAUSAS EXTRAÑAS NO LOGRO ACTUALIZAR, BORRAR NI INSERTAR NINGÚN REGISTRO EN ELLA...
YA HE REVISADO EL USUARIO(QUE TIENE TODOS LOS PERMISOS), HE CAMBIADO EL DRIVER Y NADA...EN REALIDAD HE INTENTADO TODO LO QUE SE ME HA OCURRIDO Y NO LOGRO NADA

EN ESPERA DE SU PRONTA RESPUESTA...

=)

Desconectado walastre

  • Novato
  • *
  • Mensajes: 42
  • Puntuación: 0
    • Ver Perfil
Re: NO ejecuta sql en Ms SQL desde PHP
« Respuesta #1 : 01 de abril de 2009, 11:03:53 am »
amigo deberias colocar parte del codigo para ver en q forma lo estas ejecutando y si estas usando SP la conexion para revisarla


Desconectado sanjes2003

  • Novato
  • *
  • Mensajes: 3
  • Puntuación: 0
    • Ver Perfil
Re: NO ejecuta sql en Ms SQL desde PHP
« Respuesta #2 : 03 de abril de 2009, 03:25:26 pm »
Buenas Tardes, este es el código que trato de ejecutar la cual no actualiza nada en la BD, y $db es una instancia de una clase que incluyo que se llama EzSql:
Código: [Seleccionar]
if($_cod != ''){
$sql = "UPDATE $_tb3 SET descripcion='".$_POST['des']."'";
$sql .= " WHERE id='".$_cod."'";
}else{
 $sql = "INSERT INTO $_tb3 VALUES ('".$_POST['des']."')";
}
$db->query($sql);

Gracias por tu interes
Nota: Si logro hacer la conexión y veo los datos que hay en las tablas, lo que no logro es hacer ningún query
=)

Desconectado walastre

  • Novato
  • *
  • Mensajes: 42
  • Puntuación: 0
    • Ver Perfil
Re: NO ejecuta sql en Ms SQL desde PHP
« Respuesta #3 : 03 de abril de 2009, 03:46:09 pm »
bueno  amigo segun lo q entiendo de tu codigo estas tratado de ejecutar las consulta a travez de la misma conexion y por esa es la razon por la cual no puedes ejecutar las consultas ....

ahora te explico un poco como lo hago yo

primero creo una conexion a la BD MSSQL de esta forma

$Bd    = "pruebas";
$Usu   = "sa";
$Clave = "yo";

$link=mssql_connect($Bd,$Usu,$Clave ); or die("Error conectando a la base de datos.");   
mssql_select_db("BasedeDatos",$link); or die("Error seleccionando la base de datos.");       
return $link;

la cual guardo en un archivo llamado conexion.ini.php

y en la pagina donde deseo hacer la consultas incluyo esto
include("../conexion/conexion.ini.php");


una vez establecida la conexion uso las librerias   de php_mssql.dll
la cual me permite ejecutar sql de la siguiente forma ejemplo:

// string para el query
$qry = select x from tablax where x = loquesea;

// ejecucion del query
$qry = mssql_query($qry);


si necesitas algo mas escribe ....




 


Desconectado sanjes2003

  • Novato
  • *
  • Mensajes: 3
  • Puntuación: 0
    • Ver Perfil
Re: NO ejecuta sql en Ms SQL desde PHP
« Respuesta #4 : 03 de abril de 2009, 06:05:56 pm »
Gracias...

Si lo intente de la forma en que tu me dices(claro que no exactamente como tu lo haces sino todo directo en un mismo archivo ...y nada :()...Es más revise el usuario el el servidor MSSQL y le di todos los permisos para ver si era eso y nada...

Te voy a colocar el codigo más completo para ver si es no lo estoy haciendo bien(aunque he trabajado con mysql postgres y siempre me ha resultado bien...claro es la primera vez que lo hago con este tipo de BD)
Citar
//CLASE PARA CONECTAR
class Connectar{
    var $db;
    function __construct(){
      global $userdb,$passdb,$dbname,$host,$error_log,$db;
      
      // Include ezSQL core
      include_once "ezsql/shared/ez_sql_core.php";

      // Include ezSQL database specific component
      include_once "ezsql/mssql/ez_sql_mssql.php";
      
   //SE CREA LA INSTANCIA PARA LA CONEXIÓN CON LOS PARAMETROS QUE ESTAN EN UN ARCHIVO DE INICIALIZACION
        $this->db = new ezSQL_mssql($userdb,$passdb,$dbname,$host);
    }
}
class Sistema extends Connectar{
   //SE HACEN CIERTAS COSAS COMO LAS SESSIONES Y ENTRADA DE LOS USUARIOS A LA APLICACIÓN, TRANSFORMACION DE HRS ETC
}

class Categoria extends Sistema{
function edit_cat(){
   global $_tb3;//TABLA A EDITAR
   $db = $this->db; // OBJETO QUE TIENE LA CONEXIÓN
        
   if(isset($_POST['cod'])){
   $_cod = $_POST['cod'];
   if($_cod != ''){
            
   $sql = "UPDATE $_tb3 SET descripcion='".$_POST['des']."'";
   $sql .= " WHERE id='".$_cod."'";
   }else{
       $sql = "INSERT INTO $_tb3 VALUES ('".$_POST['des']."')";
   }
   $db->query($sql);
   exit;   
//... OTRAS COSAS MAS
   }
}

Desconectado walastre

  • Novato
  • *
  • Mensajes: 42
  • Puntuación: 0
    • Ver Perfil
Re: NO ejecuta sql en Ms SQL desde PHP
« Respuesta #5 : 07 de abril de 2009, 01:38:33 pm »
amigo fijate viendo tu codigo me doy cuenta q trabajas con una libreria llamada       

// Include ezSQL core
      include_once "ezsql/shared/ez_sql_core.php";

mientras que el ejemplo que yo te mostre es usando la libreria directa del PHP llamada php_mssql.dll q debe estar dentro de la carpeta PHP/ext q se crea al instalarlo esta libreria no necesitas incluirla por q solo debes activarla en el PHP.ini para q asi puedes usar cualquiera de sus caracteristicas como los son:

mssql_query(); con la cual ejecutas cualquier string SQL o en su defecto algun strore procedure

como te lo mostre en el ejemplo anterior ....


algo mas solo escribe .!!!




PHP de Venezuela

Re: NO ejecuta sql en Ms SQL desde PHP
« Respuesta #5 : 07 de abril de 2009, 01:38:33 pm »

 

PHP de Venezuela on Facebook