十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前段时间刚解决这个问题! (这里有个php5.4的连接方法,可以供参考,php5.6的只需要下载响应的sqlserver扩展)
创新互联主营高淳网站建设的网络公司,主营网站建设方案,成都App制作,高淳h5小程序制作搭建,高淳网站营销推广欢迎高淳等地区企业咨询
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的。( )
亲 mysql_query 很不安全的,就是这个原因才废弃的,而强制采用PDO 的方式,去搜索PDO,建议你去看看后盾网,或兄弟连视频 去他们官网都是免费的
你去学学PDO就行,那个预处理比较重要
学个大概就行 你不玩混编的话 不如多玩玩框架,
另提醒 你学 tp的时候 别学3.1 否则白学,现在公司用3.2 而 3.2 把3.1的N多方法废弃,连目录都变了...我一直用yii公司抽风换tp 我刚学完 公司 就换成3.2 了 白学了
而且你看 6.0 废弃的东西更多.
废弃一些东西都是有其原因的,如果你网站全用mysql_query的小网站,我用一天就能把你网站废掉,sql注入即可
下面是一个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);
我用的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("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!";
开启mysql函数,用myql函数链接,或者用mysqli对象去链接,再或者用pdo驱动去链接,常用的
我用的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!";