本文目錄一覽:
- 1、php 獲取sqlserver中的datetime字段的數據時的問題
- 2、php連接MSSQL
- 3、PHP中如何正確格式化從SQLserver中讀出的日期?
- 4、php獲取SQLserver數據庫中的datetime類型數據,然後根據日期得到星座。求可執行代碼。
- 5、PHP如何連接mssql一個實例
- 6、PHP從MSSQL讀出數據庫問題?
php 獲取sqlserver中的datetime字段的數據時的問題
; Specify how datetime and datetim4 columns are returned
; On = Returns data converted to SQL server settings
; Off = Returns values as YYYY-MM-DD hh:mm:ss
;mssql.datetimeconvert = On
當on的時候會返回sql設置的時間格式
當off的時候是YYYY-MM-DD hh:mm:ss
你可以試下注釋掉;mssql.datetimeconvert = On
php連接MSSQL
為了能讓PHP連接MSSQL,首先需要一些設置:
1.打開php.ini,將
;extension=php_mssql.dll前面的分號(;)去掉,然後重啟 Apache。
如果不行的話,進行第2步:
2.檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從重新下載一個php安裝,要下載那個壓縮包的才是最完整的。
如果ext目錄下已經有了php_mssql.dll,那麼你需要打開php.ini,找到
extension_dir = “./ext”
這一句(或者類似的,不一定是”./ext”,查找”extension_dir”即可),然後把”./ext”修改為你的php安裝目錄的ext目錄的完整路徑,比如”c:/php/ext”,或者”c:/program files/php/ext”這樣。然後再次重啟 Apache。
(如果還是不行的話,可能就需要第3步了,
3.把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 複製到 system32的系統目錄中去,然後重起Apache。
)
然後就可以連接MSSQL,並進行一些操作了。
1.連接MSSQL
$conn=mssql_connect(”實例名或者服務器IP”,”用戶名”,”密碼”);
//測試連接
if($conn)
{
echo “連接成功”;
}
2.選擇要連接的數據庫
mssql_select_db(”dbname”);
3.執行查詢
$rs = mssql_query(”select top 1 id,username from tbname”,$conn);
或者直接執行update,insert等語句,可以不用為返回結果賦值
mssql_query(”update tbname set username=’niunv’ where id=1″);
4.獲取記錄集行數
echo mssql_num_rows($rs);
5.獲取記錄集
if($row=mssql_fetch_array($rs))
{
$id = $row[0];//獲取ID字段值
$username = $row[1];//獲取username字段值
}
6.獲取新增記錄的ID
將id字段設置為IDENTITY字段,執行insert語句以後,就會產生一個 @@IDENTITY 全局變量值,查詢出來就是最後一條新增記錄的ID了.
mssql_query(”insert into tbname(username) values (’nv’)”,$conn);
$rs = mssql_query(”select @@IDENTITY as id”,$conn);
if($row=mssql_fetch_array($rs))
{
echo $row[0];
}
7.釋放記錄集
mssql_free_result($rs);
8.關閉連接
mssql_close($conn);
PHP中如何正確格式化從SQLserver中讀出的日期?
這個,你只能把這個讀取出來的數據當字符串處理了!!
用空格去分解這個字段,保存在數組裡,然後提取第一個為月份,第二個為日期,第三個為年份,第四個為小時和分鐘,已經上下午
$time = $rs[“lastlogin”];
$times = explode(” “,$time);
$month = $times[0];
$day = $times[1];
$year = $times[2];
$hour = substr($times[3],0,2);
$minute = substr($times[3],3,2);
if(substr($times[3],5,1)==’P’)
{
$hour = intval($hour);
if($hour12)
{
$hour += 12;
}
}
$realTime = $year.”-“.$month.”-“.”day”.” “.$hour.”:”.$minute.”:00″;
echo $realTime;
php獲取SQLserver數據庫中的datetime類型數據,然後根據日期得到星座。求可執行代碼。
//計算datetime所屬星座
$dateTime = ‘2011-10-09 10:00:00’;//數據庫查詢出的時間
$dateTime = substr($dateTime,5,5);//截取出月份與日期
// echo $dateTime;
$dateArray = explode(“-“,$dateTime);//將字符串分割成數組
$month = $dateArray[0];//月份
$day = $dateArray[1];//日期
if($month==’02’$day=19||$month==’03’$day=20)
{
$constellation = “雙魚座”;
}
elseif($month==’03’$day=21||$month==’04’$day=19)
{
$constellation = “白羊座”;
}elseif($month==’04’$day=20||$month==’05’$day=20)
{
$constellation = “金牛座”;
}elseif($month==’05’$day=21||$month==’06’$day=21)
{
$constellation = “雙子座”;
}elseif($month==’06’$day=22||$month==’07’$day=22)
{
$constellation = “巨蟹座”;
}elseif($month==’07’$day=23||$month==’08’$day=22)
{
$constellation = “獅子座”;
}elseif($month==’08’$day=23||$month==’09’$day=22)
{
$constellation = “處女座”;
}elseif($month==’09’$day=23||$month==’10’$day=23)
{
$constellation = “天秤座”;
}elseif($month==’10’$day=24||$month==’11’$day=21)
{
$constellation = “天蠍座”;
}elseif($month==’11’$day=22||$month==’12’$day=21)
{
$constellation = “射手座”;
}elseif($month==’12’$day=22||$month==’01’$day=19)
{
$constellation = “摩羯座”;
}elseif($month==’01’$day=20||$month==’02’$day=18)
{
$constellation = “水瓶座”;
PHP如何連接mssql一個實例
數據庫查詢不外乎4個步驟,1、建立連接。2、輸入查詢代碼。3、建立查詢並取出數據。4、關閉連接。 php連接mssql數據庫有幾個注意事項,尤其mssql的多個版本、32位、64位都有區別。
首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分號去掉,對應的使哪種方式連接mssql。注意要重啟服務使其生效。
一、建立連接
1、odbc
首先,在php程序所在的服務器設置odbc。這裡32位和64位操作系統有區別。32位的從控制面板中管理工具中的數據源(odbc)直接建立就可以了,64位的要運行C:\Windows\SysWOW64\odbcad32.exe
從這裏面設置。注意:上面只的是數據庫服務器為32為的,數據源設置服務器為32位和64位兩種的情況。只要兩個服務器建立的數據源位數一致就好。
下面是odbc建立連接代碼。
複製代碼 代碼如下:
$con = odbc_connect(‘odbc名稱’,’用戶名’,’密碼’);
2、連接mssql2000
複製代碼 代碼如下:
$con = mssql_connect(‘數據庫地址’,’用戶名’,’密碼’);
3、連接mssql2008
複製代碼 代碼如下:
$connectionInfo = array(“UID”=用戶名,”PWD”=密碼,”Database”=”數據庫名稱”);
$con = sqlsrv_connect( 數據庫地址,$connectionInfo);
二、輸入查詢代碼
這個都一樣,可以直接寫入,也可以從mssql中驗證好後複製過來。簡單點說就是把一個sql語句賦值給一個變量。
類似下面代碼
複製代碼 代碼如下:
$query = “SELECT top 12 * 數據庫名稱 order by id desc”;
三、建立查詢並取出數據
1、odbc
複製代碼 代碼如下:
$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
$變量名稱 = odbc_result($result, “字段名稱”);
}
2、連接mssql2000
複製代碼 代碼如下:
$result = mssql_query($con, $query);
while($row =mssql_fetch_array($result))
{
$變量名稱 = $row[“字段名稱”];
}
3、連接mssql2008
複製代碼 代碼如下:
$result = sqlsrv_query($con, $query);
while($row = sqlsrv_fetch_array($result))
{
$變量名稱 = $row[“字段名稱”];
}
在php5.3及以後的版本中不附帶sqlsrv庫了。所以要從微軟這裡下載。
四、關閉連接
這個沒有什麼區別,分別是odbc_close();和mssql_close()和sqlsrv_close();
最後體會:php連接mssql比連接mssql的函數少了一些,但是也夠用了。具體函數可以參考php官方手冊
PHP從MSSQL讀出數據庫問題?
這應該跟你本機日期格式有關,你要想得到「2004-10-23 」這樣的格式,不妨在讀取的時候把日期轉換成字符串,這樣就可以不用考慮本機日期格式問題了。
比如表A中時間字段是t,要讀取這個t字段並按「2004-10-23 」這樣的格式顯示語句為
select convert(varchar(10),cast(t as datetime),20) as t
from A
得到的就是「2004-10-23 」這種形式的日期,其中使用了cast(t as datetime)是防止你的日期不是datetime類型,如果你的日期字段是datetime類型則可以不用轉換。
原創文章,作者:FQME,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/147535.html