sqlsrv和param计数错误

时间:2015-06-26 05:22:08

标签: php sql-server-2005 sqlsrv

美好的一天,

在其他任何事情之前,我可以成功连接到我的数据库,我可以 打印出我桌上的所有数据..

这是我的问题,我在尝试执行此操作时遇到警告和致命错误

$(this).find('.modal-body').html('success')

这是我得到的错误,

  

sqlsrv_query()期望参数1是资源....参数计数和   参数计数不匹配

1 个答案:

答案 0 :(得分:0)

停止连接参数,这是不安全的。了解sql injection。可能会引发错误,因为您的用户名参数包含?个字符。

此外,右sqlsrv_query syntax是:

  

混合sqlsrv_query(资源$ conn,字符串$ sql [,array $ params [,array $ options]])

其中sql是第二个参数,而不是第一个参数。您的代码应如下所示:

$sql = "SELECT [name] FROM [Test].[dbo].[TestTable] WHERE [name] = ?";
$params = array(1, $user);

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
     die( print_r( sqlsrv_errors(), true));
}