php串連MSSQL問題

來源:互聯網
上載者:User
PHP MS SQL

我本機裝的wamp的開發環境,因為要開發新的網站,但資料是存在遠端MSSQL資料庫裡面的
我在網上找到兩種串連MSSQL的方法,一種我用mssql_connect 總是串連不上,後來我用下面這種方法串連上的
2
/**

* php使用ODBC串連sql server資料庫執行個體
*/

$server='ip地址或伺服器名';
$username='資料庫使用者名稱';
$password='資料庫密碼';
$database='資料庫名';

$connstr = "Driver={SQL Server};Server=$server;Database=$database";

if ( !odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)){
echo "Couldn't connect to SQL Server on $server";
}else{
echo "Connect successfully!
";
}
?>
現在是串連資料成功了
但後面的SQL查詢語句怎麼寫
我在後面這樣寫它會報錯
if ( !odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC))
{ echo "Couldn't connect to SQL Server on $server";
}
else{
while($row=mssql_fetch_array(mssql_query('select * from t_item')))
{

echo $row[0];

}
}

Warning: mssql_query() [function.mssql-query]: Unable to connect to server: (null) in C:\wamp\www\mssql.php on line 12

Warning: mssql_query() [function.mssql-query]: A link to the server could not be established in C:\wamp\www\mssql.php on line 12

Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in C:\wamp\www\mssql.php on line 12


是不是這種串連的查詢文法不是這樣寫的


回複討論(解決方案)

odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)
你是使用 odbc 串連資料庫的
那麼就應該使用 odbc 函數組進行操作

odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)
你是使用 odbc 串連資料庫的
那麼就應該使用 odbc 函數組進行操作

那如果我想echo我要查的那個表後面該怎麼寫

mssql連不上的原因會不會是php中mssql的擴充沒開?

$conn = odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC);
$rs = odbc_exec($conn, 'select * from tbl_name');
$ar = odbc_fetch_array($rs);
print_r($ar);

mssql連不上的原因會不會是php中mssql的擴充沒開?
mssql的拓展開啟了 而且ntwdblib.DLL這個檔案的版本我也換了還是沒用,因為mssql公司的業務系統在上面運行不怎麼敢動,所以放棄了 只有另找方法了

$conn = odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC);
$rs = odbc_exec($conn, 'select * from tbl_name');
$ar = odbc_fetch_array($rs);
print_r($ar);
首先先謝謝斑竹
我剛才在百度上搜了一下 我是這些寫的 網頁中能顯示資料

$conn=odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC);$sql="select * from t_item where fname like '%南昌%'";$rs=odbc_exec($conn,$sql);if (!$rs){exit("Error in SQL");}echo "
 
    ";echo "
    ";echo "
    ";while (odbc_fetch_row($rs)){ $fname=odbc_result_all($rs,fnumber); $fnumber=odbc_result($rs,fname); echo "
   "; echo "
    "; }odbc_close($conn);echo "
  
fnumberfname
$fname$fnumber
";

我想問一下 ,能把SQL查詢改成調用SQL SQRVER中的預存程序嗎,用什麼方法調用預存程序,參數怎麼給,
給我指明大概的方法就可以了

那不是一樣嗎?你在控制台怎麼執行,程式裡就怎麼寫

預存程序是已經寫好的,那個預存程序比較複雜,串連好了好多表,也有暫存資料表,我想問的是在PHP中用什麼函數可以調用到那個預存程序,我沒用過 odbc_connect這種串連方式,後面不知道怎麼下手繼續

使用pdo吧,n具體的去看手冊,現在都流行使用pdo,不用函數。

odbc_exec 執行 sql 指令,並返回結果
預存程序也屬於 sql 指令

預存程序是已經寫好的,那個預存程序比較複雜,串連好了好多表,也有暫存資料表,我想問的是在PHP中用什麼函數可以調用到那個預存程序,我沒用過 odbc_connect這種串連方式,後面不知道怎麼下手繼續

odbc_exec 執行 sql 指令,並返回結果
預存程序也屬於 sql 指令


預存程序是已經寫好的,那個預存程序比較複雜,串連好了好多表,也有暫存資料表,我想問的是在PHP中用什麼函數可以調用到那個預存程序,我沒用過 odbc_connect這種串連方式,後面不知道怎麼下手繼續
我在查詢分析器這樣寫
select fname='南昌' into #mssql exec mssql drop table #mssql 可以正常查詢
在PHP裡寫成這樣
$sql=" select fname='南昌' into #mssql exec mssql drop table #mssql";
$rs=odbc_exec($conn,$sql);
就會報錯

Warning: odbc_fetch_row() [function.odbc-fetch-row]: No tuples available at this result index in C:\wamp\www\mssql.php on line 20

有中文,就要檢查是否編碼問題

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.