重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、软件配置
创新互联-专业网站定制、快速模板网站建设、高性价比英山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式英山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖英山地区。费用合理售后完善,十载实体公司更值得信赖。
Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10。
Php环境也可以换成php+apache。
2、支持连接MySQL Server配置
php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以后的版本不支持。
2.1、php连接mssql设置(php5.3以前版本)
(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。
(4)然后就可以连接MSSQL,并进行一些操作了。连接例子如下:
2.2、php连接sqlsrv(php5.3以及以上版本)
(1)、下载Microsoft Drivers for PHP for SQL Server,官方下载地址:,我使用的是SQLSRV2.0。
(2)、解压下载下来的文件将php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件复制到php安装目录下的ext文件夹中。此处根据版本不同使用的文件不同。
(3)、在php.ini中添加
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
到很多;extension=***.dll语句后面,注意extension_dir 指向的位置是否正确。
(4)、重启apache,然后访问访问地址/?Phpinfo=1,出现下面图片中的内容,则代表配置正确。
(5)、写测试代码,测试代码如下:
?php
header("Content-type: text/html; charset=utf-8");
$serverName = "localhost"; //数据库服务器地址$uid = "foodcert"; //数据库用户名$pwd = "foodcert"; //数据库密码$connectionInfo = array("UID"=$uid, "PWD"=$pwd, "Database"="FoodCert");
$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}else{
echo "连接成功!";
}
$query = sqlsrv_query($conn, "select * from 数据库表");while($row = sqlsrv_fetch_array($query))
{
print_r($row);
}?
(6)、上面完成之后,测试代码的时候会出现连接失败,因为没有安装sql server nation client ,本地客户端,去下载合适的客户端,我使用的是Microsoft? SQL Server? 2012 Native Client,下载地址:
(7)、安装完成之后,在重新启动apache,然后访问就可以连接成功了。
(8)、注意:在php.ini文件所在的文件夹中必须要有ntwdblib.dll文件存在。
mysql_connect("网站mysql的url","账户","密码");
通常情况下
网站的mysql也是服务器上的
服务器厂商会给你mysql的url地址
通常用phphmyadmin在线管理mysql
因为window和linux的根目录不太一样
linux的根目录是root
而mysql通常是和php等等平级的
你在浏览器地址栏输入“localhost”
你可以看到你的apache
php
phpmyadmin
mysql
等等的目录和信息
输入localhost/info
可以看到php的信息
一般情况下
你把xxx.sql文件放到www下
以www为根目录
mysql在上一级
就“../”
php文件在平级
即“./”
PHP 连接数据库有两种方式: mysql_connect() 和 mysql_pconnect() 。下面分别介绍使用的不同之处:
1、mysql_pconnect() 函数打开一个到 MySQL 服务器的持久连接。
2、mysql_pconnect() 和 mysql_connect() 非常相似,但有两个主要区别:
1.当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。
2.其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的连接)。
语法
mysql_pconnect(server,user,pwd,clientflag)参数 描述
server 可选。规定要连接的服务器。
可以包括端口号,例如 "hostname:port",或者到本地套接字的路径,例如对于 localhost 的 ":/path/to/socket"。
如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。
user 可选。用户名。默认值是服务器进程所有者的用户名。
pwd 可选。密码。默认值是空密码。
clientflag 可选。client_flags 参数可以是以下常量的组合:
•MYSQL_CLIENT_SSL - 使用 SSL 加密
•MYSQL_CLIENT_COMPRESS - 使用压缩协议
•MYSQL_CLIENT_IGNORE_SPACE - 允许函数名后的间隔
•MYSQL_CLIENT_INTERACTIVE - 允许关闭连接之前的交互超时非活动时间
返回值
如果成功,则返回一个 MySQL 持久连接标识符,出错则返回 FALSE。
提示和注释
注释:可选参数 clientflag 自 PHP 4.3.0 版起可用。
提示:要创建一个非持久连接,请使用 mysql_connect() 函数。
例子如下:
主要使用场合:
当db操纵错杂, 耗时较长时, 因httpd会fork很多并发过程处理惩罚, 而先产生的httpd过程不开释db连接, 使得后产生的httpd过程无法连上db. 因为如许没有复用其它httpd过程的mysql连接. 于是会就产生很多连接超时。 在并发接见量不高时,应用pconnect可以简单进步接见速度, 但在并发量增大后, 是否再应用pconnect就要见地度员的选择了.
1.最简单的方式
?php$con = mysql_connect("localhost","root","");if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_close($con);?
2.面向对象mysqli(详细教程)
?php$mysqli = new mysqli('localhost','root','','volunteer');if (mysqli_connect_errno()){ die('Unable to connect!'). mysqli_connect_error();}?
3.pdo连接mysql(详细教程)
?php $db = new PDO('mysql:host=localhost;dbname=test', 'root', '');try { foreach ($db-query('select * from user') as $row){ print_r($row); } $db = null; //关闭数据库} catch (PDOException $e) { echo $e-getMessage();}?
4.ADODB连接mysql(详细教程)
?phprequire_once './adodb5/adodb.inc.php';$conn = ADONewConnection('mysql');$conn-connect('localhost','root','','test');$conn-Execute("set names utf8");$res = $conn-Execute("select * from user");if (!$res){ echo $conn-ErrorMsg();}else{ var_dump($res);}?