โดยปรกติพื้นฐาน PHP สามารถ Connet กับ MSSQL ได้เลยใหมครับ
เป็นการรัน PHP ผ่าน Apache + php + Linux
สามารถ Connet ได้เลยใหม หรือต้อง ลงอะไรเพิ่มก่อน ชักงงๆ
โดยปรกติพื้นฐาน PHP สามารถ Connet กับ MSSQL ได้เลยใหมครับ
เป็นการรัน PHP ผ่าน Apache + php + Linux
สามารถ Connet ได้เลยใหม หรือต้อง ลงอะไรเพิ่มก่อน ชักงงๆ
ไม่มีครับ บน windows จะมี compiled library lib_mssql.dll (ถ้าจำไม่ผิด) ถ้าบน *nix ต้องทำการติดตั้ง freetds แล้ว compile php ให้รู้จัก freetds ครับ
เพิ่มลิงค์ให้
http://www.freetds.org/
http://www.freetds.org/userguide/php.htm
แก้คำผิด
จะใช้ php + ฐานข้อมูล mssql บน linux เหรอครับ น้องตี่ … เพิ่งเคยได้ยินเหมือนกัน
ปกติบน windows สามารถใช้ php ร่วมกับ ฐานข้อมูล mssql ได้โดยติดต่อผ่านทาง odbc แต่หากเป็นบน linux คงต้องใช้วิธีตามที่ คุณ sheroku แนะนำ …
ต้องขอขอบคุณ น้องตี่ ที่ตั้งคำถามที่น่าสนใจ และ ขอบคุณ คุณ sheroku สำหรับคำตอบ ที่เป็นประโยชน์ (ความรู้ใหม่)
ป่าวครับ มีคนเขาถามมาอีกที เขาจะทำแบบนี้
บน windows ถ้าติดต่อผ่าน odbc ซึ่ง odbc function ใน php บางอย่างไม่สามารถทำงานได้อย่างถูกต้องครับ เช่น odbc_num_rows() ในบาง driver จะไม่สามารถใช้งานได้
บน windows แนะนำให้เปิด library mssql (php_mssql.dll) ดีกว่าครับทำงานได้อย่างถูกต้องมากกว่า รองรับ stored procedure ด้วย
บน *nix ที่เห็นว่าใช้งานได้ก็มีแต่ freetds ครับแต่ยังไม่สามารถใช้ได้กับ MSSQL 2005 ได้เสียที
พอดีมี project ที่ต้องสร้างให้ใช้งานได้ทั้ง MSSQL และ Oracle แต่ใช้งานบน platform *nix เลยต้องรู้ครับ ความจำเป็นแท้ๆ
ดูเหมือนมันต้องการ Sybase เลย
หรือว่าลงแค่ php-Sybase ก็น่าจะใช้ได้
เพราะ Debian มี lib มาเลย
freetbs มันคืออะไรอะครับ
มา update ครับ
โดยลง Debian 4
ลง php5-sybase + freetbs-dev สองตัวนี้ก็สามารถต่อ mssql ได้แล้วครับ
test จาก script เล็กๆ
<html>
<body>
<?php
$con = mssql_connect ("<ip>", "sa", "");
freetds ต้องการ library ของ sybase ด้วยครับเนื่องจาก freetds สามารถใช้งานได้ทั้ง MSSQL และ Sybase ซึ่ง freetds เป็น app layer protocol เพื่อใช้ในการติดต่อโดยตรงกับ RDBMS ทั้ง 2 ตัว
ผมลง Compile .deb จาก source php ใหม่ ให้มันมี php5-mssql ด้วย
พบว่าก็รันได้เหมือนกัน แต่ ต้อง ปิด ext sybase ออกก่อน ไม่งั้นมันตีกัน
แหะๆ
หากเรา connect MSSQL Server version 6.5 เราจะใช้ driver ของ SyBASE ได้ครับ…
เนื่องจากว่า MS ซื้อ SQL Server มาจาก SyBASE
หลังจาก version 7.x ขึ้นมา…
MS ได้ทำการเปลี่ยน driver การเชื่อมต่อกับ MSSQL ครับ
เรื่องมันก็เป็นเช่นนี้แหลล… (ตำนานเก่าๆเมื่อสิบกว่าปีที่แล้ว)