MAMP: Adding ODBC or SQL Server support
-
05-07-2019 - |
Question
I need to talk to a remote SQL Server 2000 database. I use MAMP locally and I would like to continue using it. However, I'm lost as to what I need to do to add support for talking to this database from PHP. It looks like either the ODBC or SQL Server functions in PHP will work, but those modules aren't installed by default.
Can someone provide instructions on how to add support for either ODBC or SQL Server in MAMP?
Solution
Check this question out, looks like you need to get a driver for your version of PHP.
Here is another link: Connecting to MS SQL server from PHP using MAMP on OSX.
OTHER TIPS
I was able to get his working by:
- Using Liip's one line PHP Apache Module Installer
- Configuring the freetds.conf file
- Writing some PHP to connect to the mssql database
Summary:
Paste this into your terminal:
curl -s http://php-osx.liip.ch/install.sh | bash -
(works with OS 10.7)
Open
/usr/local/php5/etc/freetds.conf
in a text editor and add an entry for your mssql server at the end:[MSHOSTNAME] host = mshostname.example.com port = 1433 tds version = 8.0
Save a PHP file in your Sites folder and activate Web Sharing.
<?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); ?>