Pregunta

Necesito hablar con una base de datos remota de SQL Server 2000. Yo uso MAMP localmente y me gustaría seguir usándolo. Sin embargo, estoy perdido en cuanto a lo que necesito hacer para agregar soporte para hablar con esta base de datos desde PHP. Parece que las funciones ODBC o SQL Server en PHP funcionarán, pero esos módulos no están instalados por defecto.

¿Alguien puede proporcionar instrucciones sobre cómo agregar soporte para ODBC o SQL Server en MAMP?

Otros consejos

Pude conseguir que funcionara:

  1. Uso de Instalador del módulo PHP Apache de una línea de Liip
  2. Configuración del archivo freetds.conf
  3. Escribiendo PHP para conectarse a la base de datos mssql

Resumen:

  1. Pegue esto en su terminal:

    curl -s http://php-osx.liip.ch/install. sh | bash -

    (funciona con OS 10.7)

  2. Abra /usr/local/php5/etc/freetds.conf en un editor de texto y agregue una entrada para su servidor mssql al final:

    [MSHOSTNAME]
    host = mshostname.example.com
    port = 1433
    tds version = 8.0
    
  3. Guarde un archivo PHP en su carpeta de Sitios y active Compartir en la Web.

    <?php
    
     $myUser = "your_name";
     $myPass = "your_password";
     $myDB = "examples"; 
    
     //connection to the database
     $dbhandle = mssql_connect(MSHOSTNAME, $myUser, $myPass)
       or die("Couldn't connect to SQL Server on $myServer"); 
    
     //select a database to work with
     $selected = mssql_select_db($myDB, $dbhandle)
       or die("Couldn't open database $myDB"); 
    
     //declare the SQL statement that will query the database
     $query = "SELECT id, name, year ";
     $query .= "FROM cars ";
     $query .= "WHERE name='BMW'"; 
    
     //execute the SQL query and return records
     $result = mssql_query($query);
    
     $numRows = mssql_num_rows($result); 
     echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>"; 
    
     //display the results 
     while($row = mssql_fetch_array($result))
     {
       echo "<li>" . $row["id"] . $row["name"] . $row["year"] . "</li>";
     }
     //close the connection
     mssql_close($dbhandle);
     ?>
    
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top