在PHP操作MSSQL時需要先確定系統的運行環境是否支持,運行以下語句就知道了
[php]
if (function_exists('mssql_connect')){
echo '本函數存在,說明環境支持MSSQL';
}else{
echo '你的環境不支持MSSQL,請去APACHE中配置';
}
if (function_exists('mssql_connect')){
echo '本函數存在,說明環境支持MSSQL';
}else{
echo '你的環境不支持MSSQL,請去APACHE中配置';
}當PHP環境不支持時請先安以下的方法進行環境的配置
1、打開你的PHP.INI配置文件,把extension=php_pdo_mssql.dll和extension=php_mssql.dll前面的“;”去掉,盡量找到和mssql相關的字眼,都把他啟用;
2、你的運行環境中不一定有連接MSSQL的連接庫,所以你必需檢查一下你的PHP目錄下是否存在ext目錄下的php_mssql.dll和ntwdblib.DLL,網上有文章說需要COPY到WINDOWS/SYSTEM32目錄下, 如果連接不上的話可以試一下;
3、重啟一下APACHE,再不行你就整個機子重啟(有時候就是這麼變態)。
做完上面的3步後不要以為完成了,可以搞定PHP+MSSQL了,後面還有字符集的問題。
[php]
mssql_select_db($db_name,$conn);
$sql="INSERT INTO contacts (ID,MemberNo,Name,CustomerStateID,Ext,Phone,Mobile,email,QQ,Gender,Company,Province_ID,City_ID,Address,Postalcode) VALUES (4,'BX4','劉彪',1,'','','13924007557','','153216429','男','華康保險代理有限公司廣東分公司',0,0,'廣州市越秀區達道路5號廣州軍區服務中心大廈2樓','510035')";
$sql=iconv('utf-8','gb2312',$sql);//這個轉換必需,如果你的編碼是一致的話還好辦,我就是在這個問題上糾結了很久
$query=mssql_query($sql,$conn);
mssql_select_db($db_name,$conn);
$sql="INSERT INTO contacts (ID,MemberNo,Name,CustomerStateID,Ext,Phone,Mobile,email,QQ,Gender,Company,Province_ID,City_ID,Address,Postalcode) VALUES (4,'BX4','劉彪',1,'','','13924007557','','153216429','男','華康保險代理有限公司廣東分公司',0,0,'廣州市越秀區達道路5號廣州軍區服務中心大廈2樓','510035')";
$sql=iconv('utf-8','gb2312',$sql);//這個轉換必需,如果你的編碼是一致的話還好辦,我就是在這個問題上糾結了很久
$query=mssql_query($sql,$conn);如果不上iconv轉換,不同的編碼會造成mssql_query返回false,我已經使用了@mssql_query("SET NAMES UTF8",$conn);進行轉換,暫時不知道為什麼不行,所以所有的SQL語句都要經過轉換。
完成上面的基本是可以對數據庫進行操作了。