本文目录一览:
- 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类型则可以不用转换。