十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前段时间刚解决这个问题! (这里有个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连接数据库操作的测试代码,你可以参考:
?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注入即可
首先看一下数据库数据是否修改成功(这里是权限修改),如果没有的话,可以检查一下是否是服务器的根目录空间已经占满或接近满负荷,导致操作不成功;
可以在php.ini中打开display_errors=On,如果报的是HTTP 500服务器内部错误,可能phpmyadmin程序的index.php文件中用到了require(./xxx.php)这样的语句,一般是文件或数据库权限问题,可以将里面的require(./xxx.php)改成 require(xxx.php)或者将上级目录即xxx.php对应的/目录赋予可执行权限;