Foros del Web » Programando para Internet » PHP »

sql server 2008 express y apache codigo php

Estas en el tema de sql server 2008 express y apache codigo php en el foro de PHP en Foros del Web. buenas instale microsoft sql server 2008 en mi maquina para aprender a usar base de datos mssql, estoy intentanto conectarme con un script "php" pero ...
  #1 (permalink)  
Antiguo 23/05/2011, 11:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 1
sql server 2008 express y apache codigo php

buenas

instale microsoft sql server 2008 en mi maquina para aprender a usar base de datos mssql, estoy intentanto conectarme con un script "php"
pero no he podido lograrlo, y en internet no he encontrado nada que me ayude, todo esta muy desactualizado y no encuentro solucion


datos

windows 7 ultimate

microsoft sql server express 2008 ultima version

apache ultima version recien bajada y instalada

paquete de la microsoft con librerias DLL para complemetar php

php.ini modificado para activar librerias

base de datos de prueba para hacer conexion y sql server configurado
con usuario "sa" y password.

la parte donde no estoy seguro es la de ODBC, no se si es necesario o no, no he encontrado donde diga que es un requisito



este es el script que da la microsoft con el archivo de ayuda donde esta lo nuevo y como usarlo


$serverName = "(local)";
$connectionInfo = array( "UID"=>"sa",
"PWD"=>5062044,
"Database"=>"david");

$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "no funciona"}

si alguien lo ha hecho funcionar y puede poner los pasos a seguir seria
se los agradeceria.
  #2 (permalink)  
Antiguo 23/05/2011, 11:25
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 10 meses
Puntos: 128
Respuesta: sql server 2008 express y apache codigo php

Crea la Odbc, en panel de control->herramientas administrativas ..... a todo esto habilitaste los .dll del php.ini???
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 23/05/2011, 11:26
Avatar de jhonmelguizo  
Fecha de Ingreso: enero-2008
Ubicación: Medellín - Colombia
Mensajes: 264
Antigüedad: 16 años, 11 meses
Puntos: 6
De acuerdo Respuesta: sql server 2008 express y apache codigo php

Esta clase la escribí hace ya un tiempo para un proyecto, espero te sirva.

Código PHP:
Ver original
  1. <?php
  2.  
  3. /**
  4.  * Esta clase conexión se encarga de iniciar una conexión
  5.  * a la base de datos, contiene 5 parámetros el servidor, usuario
  6.  * contrasena, puerto y bd, y el método que se encargar de abrir
  7.  * no contiene constructor ya que es utilizado para los objetos database llama un  *archivo intermedio que instancia y llama el método Conectar()
  8.  */
  9. class Conexion {
  10.  
  11.     private $servidor = "SERVIDORxx\INSTANCIA";// Servidor al cual se conectará la aplicación
  12.     private $usuario = "xxx";// Usuario asignado por el administrador para conectar al servidor
  13.     private $contrasena = "xxxx";// Contraseña asignada por el administrador del servidor
  14.     private $puerto = ""; // Puerto si es necesario, es opcional ya que generalmente no es utilizado
  15.     private $bd = "bdprueba";// Base de datos a la cual se conectará la aplicación...
  16.  
  17.  
  18.     /**
  19.      * Este método se encarga de realizar la conexión a la base de datos
  20.      * @return void
  21.      */
  22.     public function Conectar(){
  23.         $conn = mssql_connect($this->servidor, $this->usuario, $this->contrasena);
  24.         $bd = mssql_select_db($this->bd, $conn);
  25.     }
  26.  
  27.     /**
  28.      * Retorna el nombre del servidor
  29.      * @return string
  30.      */
  31.     public function getServer(){
  32.         return($this->servidor);
  33.     }
  34.  
  35.     /**
  36.      * Retorna el nombre de usuario
  37.      * @return string
  38.      */
  39.     public function getUser(){
  40.         return($this->usuario);
  41.     }
  42.  
  43.     /**
  44.      * Retorna la contraseña
  45.      * @return string
  46.      */
  47.     public function getPass(){
  48.         return($this->contrasena);
  49.     }
  50.  
  51.     /**
  52.      * Retorna el nombre de la base de datos
  53.      * @return string
  54.      */
  55.     public function getDB(){
  56.         return($this->bd);
  57.     }
  58.  
  59.     /**
  60.      * Retorna el puerto asignado
  61.      * @return string
  62.      */
  63.     public function getPort(){
  64.         return($this->puerto);
  65.     }
  66.  
  67. }
  68.  
  69. ?>

De esta forma puedes hacer uso de la clase.

Código PHP:
Ver original
  1. <?php
  2. require_once("Conexion.php");
  3. $Conexion = new Conexion();
  4. $Conexion->Conectar();
  5. ?>

Saludos...
__________________
¡No competimos, compartimos!...
  #4 (permalink)  
Antiguo 23/05/2011, 11:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: sql server 2008 express y apache codigo php

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
Crea la Odbc, en panel de control->herramientas administrativas ..... a todo esto habilitaste los .dll del php.ini???
si ya las librerias estan activadas
las funciones si las esta reconociendo

pero no hay conexion a la base de datos

la OBCD ...esa es mi duda, la OBDC, yo la estoy creando en el tipo sql server, y el test dice que esta correcto pero al ejecutar el script PHP no hay conexion.

POR CIERTO LAS NUEVAS FUNCIONES SON CON PREFIJO SQLSRV_
PARA QUE NO POSTEN SOLUCIONES DE OTRAS PAGINAS QUE ESTAN DESACTUALIZADAS COMO HIZO EL COMPAÑERO JHONMELGUIZO
  #5 (permalink)  
Antiguo 23/05/2011, 11:44
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 10 meses
Puntos: 128
Respuesta: sql server 2008 express y apache codigo php

Agregaste esta linea : extension=php_pdo_odbc.dll

Prueba tu Odbc generando una consulta desde excel y ve si funciona
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #6 (permalink)  
Antiguo 23/05/2011, 12:32
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: sql server 2008 express y apache codigo php

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
Agregaste esta linea : extension=php_pdo_odbc.dll

Prueba tu Odbc generando una consulta desde excel y ve si funciona


okok esa me gusto... en la noche voy a intentar
y ver esa libreria haber si funciona....
  #7 (permalink)  
Antiguo 23/05/2011, 21:57
 
Fecha de Ingreso: mayo-2011
Mensajes: 5
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: sql server 2008 express y apache codigo php

listo ya funciona bien..

esto es lo que se ocupa para que funcione

1. agregar las librerias de la pagina de microsoft a la carpeta ext de php
2. modificar el php.ini para que las reconozca
3. no es necesario el ODBC ya que el php.ini lo dice, ya que en la ultima version ya tiene soporte para elllo.
4. y hacer la prueba con un script simple como el que puse abajo.
este scritp es con autentificacion SQL y no con la de windows, con un usuario llamado sa y su pass.

eso es todo no hay que hacer mas modificaciones. solamente aprender las nuevas funciones y su nomenclatura.

<?php

$serverName = "DAVID-PC\SQLEXPRESS";

$uid = 'sa';
$pwd = '5062044';
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>"david");


$conn = sqlsrv_connect( $serverName, $connectionInfo);


$sql = "SELECT * FROM dbo.tablauno";
$cox=sqlsrv_query($conn, $sql);


while( $row = sqlsrv_fetch_array($cox))
{
echo $row['nombre']."</br>";

echo $row['apellido']."</br>";

echo $row['telefono']."</br>";

echo $row['lugar']."</br>";

echo "<p>";
}

?>

Etiquetas: apache, mssql, sqlserver2008
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:57.