15

PHP を使用して SQL Server データベースに接続したいと考えています。

xampp 1.7.0(php 5.2)とSQLSRV20をインストールしました。拡張機能を追加しましたが、次のphp.iniエラーが発生します。

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to 
server: 10.85.80.229 in C:\xampp\htdocs\xampp\test.php on line 07

コード:

<?php
$myServer = "10.85.80.229";
$myUser = "root";
$myPass = "pass";
$myDB = "testdb";

$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer"); 
?>

このエラー メッセージの意味と SQL Server への接続方法を教えてください。

4

15 に答える 15

14

php.ini で mssql を有効にする

;extension=php_mssql.dll

extension=php_mssql.dll

于 2014-04-10T09:42:17.450 に答える
2

このコードを試してください

$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
于 2013-09-05T09:48:12.280 に答える
1

さらに調査するために、次の mssql エラー メッセージを出力します。

$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Could not connect to database: ".mssql_get_last_message()); 

ポートを指定することも重要です。MS SQL Server 2000 では、ポートをカンマで区切ります。

$myServer = "10.85.80.229:1443";

また

$myServer = "10.85.80.229,1443";
于 2013-09-05T09:41:04.377 に答える
1
 $server_name = "your server name";
 $database_name = "your database name";
 try
  {
   $conn = new PDO("sqlsrv:Server=$server_name;Database=$database_name;ConnectionPooling=0", "user_name", "password");
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}
catch(PDOException $e)
{

    $e->getMessage();

}
于 2017-04-29T05:42:12.723 に答える
1
$dbhandle = sqlsrv_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer"); 

それが役立つことを願っています。

于 2016-01-27T06:26:02.297 に答える
0

次のコードでは、次のリンクで説明されているように、php.ini で mssql を有効にする必要があります: http://www.php.net/manual/en/mssql.installation.php

$myServer = "10.85.80.229";
$myUser = "root";
$myPass = "pass";
$myDB = "testdb";

$conn = mssql_connect($myServer,$myUser,$myPass);
if (!$conn)
{ 
  die('Not connected : ' . mssql_get_last_message());
} 
$db_selected = mssql_select_db($myDB, $conn);
if (!$db_selected) 
{
  die ('Can\'t use db : ' . mssql_get_last_message());
} 
于 2013-09-05T09:45:20.923 に答える
0

私は同じ問題を抱えています(同じことを願っています)。とにかく、私のバージョンの ntwdblib.dll であることが判明しました。これは私の PHP フォルダーでは古くなっています。

http://dba.fyicenter.com/faq/sql_server_2/Finding_ntwdblib_dll_Version_2000_80_194_0.html

于 2014-01-03T11:28:38.830 に答える
0

PDO を使用できます。

1-php_pdo_sqlsrv_xx_nts.dll および php_sqlsrv_xx_nts.dll 拡張機能を使用する必要があります。

PHP に適したバージョンのバージョンを使用する必要があることに注意してください。

2- このコードを使用

    $servername = "IP";
    $username = "";
    $password = "";
    $db='';


try {
    $conn = new PDO("sqlsrv:Server=$servername;Database=$db", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}

次に、次のコードを使用します。

$stmt=$conn->prepare("select * from table");
$stmt->execute();
$result=$stmt->fetchall();
于 2022-01-03T13:59:00.570 に答える