我正在
无效查询尝试以某种方式访问套接字 被访问权限错误禁止
我正在尝试使用php连接到我的azure sql server。 我有以下代码:
$serverName = "cosy.database.windows.net, 1433"; //serverName\instanceName
$connectionInfo = array( "Database"=>"cosy", "UID"=>"eocribin", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
$query = sprintf("SELECT username FROM Users
WHERE username=eoin");
$result = mysql_query($query);
echo $result;
// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
不确定查询是否存在问题或数据库的实际权限,但我确实获得了连接成功,然后出现错误,所以我知道它是连接。
答案 0 :(得分:1)
您似乎尝试连接到Azure SQL Server,但在代码中使用了mysql_query($query)
。
要在SQLServer中查询,可以参考http://php.net/manual/zh/function.sqlsrv-fetch-array.php。
以下是代码段:
if ($conn) {
echo "Connection established.<br />";
$query = sprintf("SELECT 1 as test");
$stmt = sqlsrv_query($conn, $query);
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
print_r($row);
}
sqlsrv_free_stmt($stmt);
}