【问题标题】:Converting from mysql to SQL SERVER从 mysql 转换为 SQL SERVER
【发布时间】:2014-04-11 17:54:26
【问题描述】:

我正在从事一个从 mysql 迁移到 SQL Server 的项目。我实际上已经在寻找等效的功能,但还没有找到。我已经走了这么远,并且已经能够连接到我的数据库,接下来是从池中选择所有内容并将其显示在 HTML 选择(下拉)选项中。我不确定是否只是将 mysqli_query 转换为 sqlsrv_query 例如?

希望有人能告诉我解决我的问题的正确途径。

<?php
$conn_array = array (
"UID" => "sa",
"PWD" => "root",
"Database" => "nih_bw",
) ;

$conn = sqlsrv_connect('TEST' , $conn_array);

if ($conn)
{

$result = mysqli_query($con,"Select name from pools");

    echo "<select name='mypool' class='form-control'>";

    $default_name = "foo_bar"; 
    while($row = mysqli_fetch_array($result)){
      $opt_name = $row['name'];
      $str_selected = "";
      if($opt_name == $default_name){
          $str_selected = "selected";
    }
      echo "<option value='".$opt_name."' ".$str_selected." >" . $opt_name. "</option>";
    }

    echo "</select>";

}
else
{
die( print_r( sqlsrv_errors(), true));
}

sqlsrv_close( $conn );

?>

【问题讨论】:

  • 我非常不确定在我的情况下如何实施。
  • 或者您可能希望其他人为您完成工作。
  • 不,绝对不是!我要自学,这就是人生的意义。
  • 切换到 PDO。 mssql_* 函数与 mysql_* 一样糟糕,如果您一开始就使用它,您的代码中唯一的区别可能是连接字符串。

标签: php sql sql-server


【解决方案1】:
<?php

$conn = mssql_connect('Host', 'User', 'Password');

if (!$conn || !mssql_select_db('database', $conn)) {
    die('Unable to connect or select database! <br> ' . sqlsrv_errors());
} else {
    $result = mssql_query($con, "Select name from pools");

    echo "<select name='mypool' class='form-control'>";

    $default_name = "foo_bar";
    while ($row = mssql_fetch_array($result)) {
        $opt_name = $row['name'];
        $str_selected = "";
        if ($opt_name == $default_name) {
            $str_selected = "selected";
        }
        echo "<option value='" . $opt_name . "' " . $str_selected . " >" . $opt_name . "</option>";
    }

    echo "</select>";
}

mssql_free_result($result);
mssql_close($conn);
?>

希望它对你有用!在http://www.php.net/manual/en/book.mssql.php查看 php 手册以了解 MS SQL 连接

在 cmets 之后编辑! mssql 运行失败?

要在安装 PHP 的系统上安装 MS SQL 客户端工具以使其正常工作。将服务器上的\winnt\system32 中的ntwdblib.dll 复制到PHP 框上的\winnt\system32。复制 ntwdblib.dll 将只提供通过命名管道的访问。客户端的配置将需要安装所有工具。此扩展在具有 PHP 5.3 或更高版本的 Windows 上不再可用。安装适当的扩展或使用同样需要安装的 sqlsrv!

sqlsrv_connectsqlsrv_querysqlsrv_fetch_arraysqlsrv_errorssqlsrv_close 函数可以使用。更多功能可参考 PHP sqlsrv 手册http://www.php.net/manual/en/ref.sqlsrv.php

【讨论】:

  • 嗯!收到此错误:致命错误:调用未定义函数 mssql_connect()
  • 要在安装 PHP 的系统上安装 MS SQL 客户端工具。 ntwdblib.dll 从服务器上的 \winnt\system32 到 PHP 框上的 \winnt\system32。复制 ntwdblib.dll 将只提供通过命名管道的访问。客户端的配置将需要安装所有工具。此扩展在 Windows 上不再提供 PHP 5.3 或更高版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 2014-01-10
  • 2011-09-28
  • 2010-11-28
  • 2019-09-02
  • 2015-06-29
  • 2013-11-29
相关资源
最近更新 更多