我用的PHP版本是php5.6.12,mssql数据库版本为2008
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供网站设计制作、成都网站设计、网站策划、网页设计、主机域名、网站空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。
两种途径:
1、直接连接
$servname="CAPTAINHERO567";
$conninfo=array(
"Database"="netdata",
"UID"="lxz2005",
"PWD"="831140");
$conn=sqlsrv_connect($servname,
$conninfo);
$sql="select
*
from
Pinfo";
$db=sqlsrv_query($conn,
$sql);
while($row=sqlsrv_fetch_array($db))
{
echo("div".iconv("GB2312","UTF-8",$row["Pname"])."/div");
}
2、使用PDO抽象数据层连接
$hostname
=
"192.168.1.100";
$dbname
=
"Northwind";
$username
=
"sa";
$pwd
=
"pwd100";
$dsn="sqlsrv:Server=$hostname;database=$dbname";
$conn
=
new
PDO
($dsn,$username,$pwd);
$conn-setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo
"mssql
database
connnection
sucessed!";
1、常见的可能大家都没有什么兴趣,比如:未添加SQL Server2008的函数扩展库,未修改php.ini配置中加载扩展函数库的内容,你的php版本不支持你加载的SQL Server2008函数扩展库,是否能够ping通SQL Server2008所在PC终端的IP地址(或者域名地址等),以及你的php访问SQL Server2008的代码有误。这些大家或多或少都有接触或者可以从网上找到相关资料,这里就不多赘言了。
2、另有一种情况,在网上找其解决的方法比较困难:也就是“1”中的所有条件你都满足和没有错误的时候,php代码执行的时候仍然无法正常访问,并抛出ODBC数据源方面的异常信息。
这其实是指您的PC终端(如:服务器需要访问SQL Server2008数据库,那么就指服务器)没有安装SQL Server2008的客户端。
您可以下载一个SQL Server2008安装在您的服务器,或者可以安装一个SQL Server的访问软件(如:Navicat for SQL Server),安装完成之后,通过软件进行连接你需要的SQL Server2008数据库,它会提示你安装一些服务,根据提示安装完成后,如果软件连接成功并可以访问数据的话,那么你的代码就可以正常访问了。还有一点:如果以上都不行,试试关闭php.ini中的设置mssql.secure_connection = Off,关闭安全连接即可.当然MSSQL的网络配置要开启"命名管道","TCP/IP",以及身份验证要开混合验证(Sa 和 Administrator)
下面是一个php连接数据库操作的测试代码,你可以参考:
?php
$id = mysql_connect("localhost", "root", "123456") or die(mysql_error());
$ok = mysql_select_db("zf2", $id) or die(mysql_error());
if ($ok) {
echo "ok";
} else {
echo "no";
}
$rs = mysql_query("select * from album order by artist asc");
if ($rs) {
echo "sdfasf";
} else {
echo "fail";
}
if (mysql_num_rows($rs) != 0) {
while($row = mysql_fetch_array($rs)) {
print_r($row['id'] . "br");
}
}
unset($row);
mysql_free_result($rs);
mysql_close($id);
亲 mysql_query 很不安全的,就是这个原因才废弃的,而强制采用PDO 的方式,去搜索PDO,建议你去看看后盾网,或兄弟连视频 去他们官网都是免费的
你去学学PDO就行,那个预处理比较重要
学个大概就行 你不玩混编的话 不如多玩玩框架,
另提醒 你学 tp的时候 别学3.1 否则白学,现在公司用3.2 而 3.2 把3.1的N多方法废弃,连目录都变了...我一直用yii公司抽风换tp 我刚学完 公司 就换成3.2 了 白学了
而且你看 6.0 废弃的东西更多.
废弃一些东西都是有其原因的,如果你网站全用mysql_query的小网站,我用一天就能把你网站废掉,sql注入即可
前段时间刚解决这个问题! (这里有个php5.4的连接方法,可以供参考,php5.6的只需要下载响应的sqlserver扩展)
1、下载微软提供的dll
地址:
我下的SQLSRV30.EXE,这个exe是一个自解压文件,下载后双击选路径解压会得到一堆dll和说明文件。(此处特别注意一下:官网下载的只支持32位的操作系统,如果你的操作系统是64位的,会报错。笔者之前在这里堵了好长时间!)
2、将对应自己php版本的dll文件copy到php ext目录下
ts是指线程安全(ThreadSafe),nts是指线程不安全,得根据安装的php版本来选择,如果不确定,就分别尝试一下;
我用的php5.4,就将php_sqlsrv_54_ts.dll复制到ext目录下,
例如:D:\Program Files\PHP 5.4\ext
3、修改php.ini文件
增加一行: extension=php_sqlsrv_54_ts.dll
修改一行 : mssql.secure_connection = Off改为on
4、重启apache
5、配置MS SQL Server2005
a、打开 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议;
b、启用“Named Pipes”和“TCP/IP”,默认是已禁用的;
c、右键点击“TCP/IP”,选择“属性”,选择“IP地址”,在”ALLIP“下的“TCP动态端口”后填写1433;
d、重启SQL Server。
备注:记得开启sa登录。
6、安装Microsoft SQL Server 2012 Native Client.msi
根据自己系统在PHP服务器所在机器安装Microsoft SQL Server 2012 Native Client.msi,分X64和X86的。( )
我用的php版本是php5.6.12,mssql数据库版本为2008
两种途径:
1、直接连接
$servname="captainhero567";
$conninfo=array(
"database"="netdata",
"uid"="lxz2005",
"pwd"="831140");
$conn=sqlsrv_connect($servname,
$conninfo);
$sql="select
*
from
pinfo";
$db=sqlsrv_query($conn,
$sql);
while($row=sqlsrv_fetch_array($db))
{
echo("
".iconv("gb2312","utf-8",$row["pname"])."
");
}
2、使用pdo抽象数据层连接
$hostname
=
"192.168.1.100";
$dbname
=
"northwind";
$username
=
"sa";
$pwd
=
"pwd100";
$dsn="sqlsrv:server=$hostname;database=$dbname";
$conn
=
new
pdo
($dsn,$username,$pwd);
$conn-setattribute(pdo::attr_errmode,pdo::errmode_exception);
echo
"mssql
database
connnection
sucessed!";