Php 警告:sqlsrv_query()要求参数1为资源,字符串为给定值

Php 警告:sqlsrv_query()要求参数1为资源,字符串为给定值,php,sql-server,database,iis,Php,Sql Server,Database,Iis,设置 MS IIS服务器 MSSQL数据库服务器 PHP 错误 Warning: sqlsrv_query() expects parameter 1 to be resource, string given in C:\inetpub\wwwroot\creating_new_table.php on line 36 Table creation failed with error:\n Fatal error: Call to undefined function sqlsrv_get_la

设置

MS IIS服务器

MSSQL数据库服务器

PHP

错误

Warning: sqlsrv_query() expects parameter 1 to be resource, string given in C:\inetpub\wwwroot\creating_new_table.php on line 36
Table creation failed with error:\n
Fatal error: Call to undefined function sqlsrv_get_last_message() in C:\inetpub\wwwroot\creating_new_table.php on line 39
代码

$serverName ="NAME\SQLEXPRESS";
$usr="sa";
$pwd="pasw";
$db="DBNAME";

$connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db);

$conn = sqlsrv_connect($serverName, $connectionInfo);
if( $conn )
{
    echo "Connected";
}
else
{
    echo "Error";
    die( print_r( sqlsrv_errors(), true));
}

$sql = "CREATE TABLE fyi_links ("
    . " id INT NOT NULL VARCHAR (6)" 
    . ", url VARCHAR(80) NOT NULL"
    . ", notes VARCHAR(1024)"
    . ", counts INT"
    . ", time DATETIME"
    . ")";
$res = sqlsrv_query($sql,$conn);
if (!$res) {
    print('Table creation failed with error:\n');
    print("   ".sqlsrv_get_last_message()."\n");
}
else {
    print("Table fyi_links created.\n");
}  

mssql_close( $conn);
连接正常,但我的创建表脚本出现了问题。

$res=sqlsrv\u query($sql,$conn)
应该是
$res=sqlsrv\u查询($conn,$sql)


请参阅手册“id INT NOT NULL VARCHAR(6)”

“WTF?!”?!?我只是mssql的开始。很抱歉,一个列可以同时具有两种不同数据类型(如varchar和int)的唯一方法是,如果您使用的是薛定谔数据库引擎,即使这样,在您实际观察到它之前,该数据类型也只能同时具有这两种数据类型,然后,它解析为一个或另一个数据类型另一个错误:致命错误:调用未定义的函数sqlsrv_get_last_message()in@klapsius很高兴听到,请将我的答案标记为正确,谢谢其他错误:致命错误:调用未定义函数sqlsrv_get_last_message()在您想到的那些消息中,而不是
sqlsrv\u get\u last\u message()