无法对数据库

时间:2015-12-29 14:41:35

标签: php mysql azure

我正在

  

无效查询尝试以某种方式访问​​套接字   被访问权限错误禁止

我正在尝试使用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);
}

不确定查询是否存在问题或数据库的实际权限,但我确实获得了连接成功,然后出现错误,所以我知道它是连接。

1 个答案:

答案 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);

}