0

我是 sql server 的新手。我有使用 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

请帮忙。谢谢。

4

3 回答 3

0

您的 PHP 不使用 mssql 扩展编译,如果他们支持,请询问托管服务提供商启用它,如果您有自己的服务器,只需使用 mssql 扩展编译 PHP --with-mssql=DIR 其中 DIR 是 FreeTDS 安装前缀。FreeTDS 应该使用 --enable-msdblib 编译。

于 2013-01-27T13:58:01.303 回答
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 以使其正常工作

于 2013-01-27T13:58:25.080 回答
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 图标 -> PHP -> 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,你就完成了!

希望这可以帮助!

于 2013-01-27T14:04:06.253 回答