如何用php连接到sql server

时间:2013-01-27 13:48:45

标签: php sql-server

我是sql server.i的新手,有使用MySQL的应用程序,现在我想在该应用程序中使用sql server而不是MySQL。我的php是:

<?php
$myServer = "localhost";
$myUser = "";
$myPass = "";
$myDB = "UNIVERSITY"; 

//connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
 or die("Couldn't connect to SQL Server on $myServer"); 

//select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
 or die("Couldn't open database $myDB"); 

//declare the SQL statement that will query the database
$query = "SELECT clgname";
$query .= "FROM dbo.clg ";

//execute the SQL query and return records
$result = mssql_query($query);

$numRows = mssql_num_rows($result);
if($numRows==0){
echo "false";
}
else{
echo "true";
}

//close the connection
mssql_close($dbhandle);
?>

我也在

之前删除了分号
extension=php_mssql.dll

但我看到错误:

Fatal error: Call to undefined function mssql_connect() in C:\xampp\htdocs\1.php on line 8

请帮忙。感谢。

3 个答案:

答案 0 :(得分:0)

您的PHP不能使用mssql扩展编译,只要求托管服务提供商启用它,如果您有自己的服务器,只需使用mssql扩展编译PHP --with-mssql = DIR其中DIR是FreeTDS安装字首。并且应该使用--enable-msdblib编译FreeTDS。

答案 1 :(得分:0)

您可以使用PDO来完成这项工作。我在MSSQL中使用它并且效果很好。例如:

try {
    $mssql = new PDO('mssql:host=localhost;dbname=UNIVERSITY', 'username', 'passwd');
    $sth = $mssql->prepare("SELECT * FROM STUDENTS");
    $sth->execute();
    $students_list = array();
    $students_list = $sth->fetchAll();
    $mssql = null;
} catch (PDOException $e) {
    $students_list = null;
}
编辑:si-le是对的,您还必须安装mssql模块并将该行添加到php.ini才能使其正常工作

答案 2 :(得分:0)

看起来没有正确启用mssql扩展...

如果您在本地运行WAMP,那么您可能需要执行一些额外步骤。

我找到了一个关于此的博客,并在这里创建了自己的博客;

http://pjgcreations.blogspot.co.uk/2013/01/enabling-ms-sql-extensions-in-wamp.html

基本理念是;

  1. 下载ntwdblib.dll: http://www.pjgcreations.co.uk/BlogAttachments/ntwdblib.DLL
  2. 点击WAMP图标 - &gt; PHP - &gt; PHP Extensions然后检查“php_mssql” 和“php_pdo_mssql”。 (Wamp会重新启动并给你一些错误,请忽略 它们)
  3. 再次重启WAMP以确保保存设置。
  4. 最后,将ntwdblib文件放在以下两个目录中: “wamp \ bin \ php \ php5.3.1”(或与您正在使用的版本相关的PHP目录)和“wamp \ bin \ apache \ apache2.2.11 \ bin”(或与您正在使用的版本相关的Apache目录) )
  5. 重新启动wampserver,你就完成了!
  6. 希望这有帮助!