PHPを使用して、SQLサーバーデータベースに接続します。
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への接続方法を教えてください。
php.iniでmssqlを有効にします
;extension=php_mssql.dll
に
extension=php_mssql.dll
<?php
$serverName = "ServerName";
$uid = "sqlusername";
$pwd = "sqlpassword";
$databaseName = "DBName";
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>$databaseName);
/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$tsql = "SELECT id, FirstName, LastName, Email FROM tblContact";
/* Execute the query. */
$stmt = sqlsrv_query( $conn, $tsql);
if ( $stmt )
{
echo "Statement executed.<br>\n";
}
else
{
echo "Error in statement execution.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Iterate through the result set printing a row of data upon each iteration.*/
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))
{
echo "Col1: ".$row[0]."\n";
echo "Col2: ".$row[1]."\n";
echo "Col3: ".$row[2]."<br>\n";
echo "-----------------<br>\n";
}
/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>
http://robsphp.blogspot.ae/2012/09/how-to-install-microsofts-sql-server.html
このコードを試してください
$serverName = "serverName\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
sqlsrv_connectを使用している場合、PHP用のMS SQLドライバーをダウンロードしてインストールする必要があります。ここからダウンロード http://www.Microsoft.com/en-us/download/details.aspx?id=20098 phpフォルダーに展開またはxamppフォルダーのextをphp.iniファイルの行の最後に追加します
extension=php_pdo_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_ts.dll
xamppバージョン5.5を使用しているため、その名前はphp_pdo_sqlsrv_55_ts.dll&php_sqlsrv_55_ts.dllです
あなたがxamppバージョン5.5を使用している場合、dllファイルはリンクに含まれていません...それが役立つことを願っています
さらに調査するために、mssqlエラーメッセージを出力します。
$dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Could not connect to database: ".mssql_get_last_message());
ポートを指定することも重要です。MSSQL Server 2000では、カンマで区切ります。
$myServer = "10.85.80.229:1443";
または
$myServer = "10.85.80.229,1443";
$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();
}
$dbhandle = sqlsrv_connect($myServer, $myUser, $myPass)
or die("Couldn't connect to SQL Server on $myServer");
お役に立てば幸いです。
IPアドレスの代わりにlocalhost
を使用します。
例えば、
$myServer = "localhost";
また、mysqlのユーザー名とパスワードも再確認してください。
私は同じ問題を抱えています(同じことを願っています)。とにかく、それは私のバージョンのntwdblib.dllであり、PHPフォルダー内では古くなっていました。
http://dba.fyicenter.com/faq/sql_server_2/Finding_ntwdblib_dll_Version_2000_80_194_0.html
次のコードでは、このリンクで説明されているように、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());
}