PHP 和 SQL 服务器之间的连接使用 WAMP 新方法

Connection between PHP and SQL server using WAMP new approaches

在独立的 PHP 和 SQL 服务器之间创建连接的最佳方法是什么?(两个服务器:服务器 a SQL 和服务器 b PHP ) 请注意,我使用 wamp。

我读了一些像下面这样的文章但是我想知道有没有新的想法?

我测试了这个完美运行的代码:

try{
  $user = 'user';
  $password = 'pass';
  $server="localhost";//or server IP
  $database="database";
  $conn = odbc_connect("Driver={SQL Server};Server=$server;Database=$database;", $user, $password);
} catch (PDOException $e) {
  echo "Failed : " . $e->getMessage() . "\n";
  exit;
}

来自 PHP 手册:http://php.net/manual/en/pdo.construct.php

示例 #1 通过驱动程序调用创建 PDO 实例

<?php
/* Connect to a SQL Server database using driver invocation */
$dsn = "sqlsrv:Server=12345abcde.database.windows.net;Database=testdb", "UserName@12345abcde", "Password";

try {
    $dbh = new PDO($dsn);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

只需将 HOST ip 更改为您 mysql 服务器的 IP 和端口。

我使用PDO_ODBC方法:

1- 在有 wamp 的服务器上安装 ODBC 并在 wamp

上启用 PHP_PDO_ODBC 扩展

2- 使用支持 UTF-8 的代码:

try{
  $hostname = "IP";
  $dbname = "database";
  $username = "username";
  $pw = "password";

  $pdo = new PDO ("odbc:Driver={SQL Server Native Client 10.0};Server=$hostname;Database=$dbname; Uid=$username;Pwd=$pw;");

} catch (PDOException $e) {
  echo "Failed : " . $e->getMessage() . "\n";
  exit;
}

$query = $pdo->prepare("select field_name from table");
$query->execute();

for($i=0; $row = $query->fetch(); $i++){
  echo iconv("CP1256","UTF-8",  $row['field_name'])."<br>";
}

3- 用您的替换这些项目:

IP-database-username-password-field_name-table

4- 有时您需要使用 "SQL SERVER" 而不是 "SQL Server Native Client 10.0" 有时您需要使用 "IP,port" 而不是 "IP" 有时您需要使用 "ISO-8859-6"而不是 "CP1256".