2013-03-16 130 views
0

我正在使用以下php代码从MS sql server数据库中的表中选择最大值。 这仅仅是一个代码的快照,而不是全码:在php中使用sqlsrv_query进行SELECT操作使用php

$sqlToCheckNID ="Select (?)=max(nid) from testRetailerlist"; 
$param_nid = array($maxNid,SQLSRV_PARAM_OUT); 
$maxNidInDb = sqlsrv_query($conn,$sqlToCheckNID,$param_nid); 
    echo "<li>" .$maxNid. "<li>"; 

它扔我的错误作为Undefined variable maxNid

我想呼应,我从SELECT语句中获得的价值。我想我使用的是错误的语法,但在网上找不到任何示例。

+0

尝试使用isset。看到这个链接http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index – Adrian 2013-03-16 10:33:40

回答

1

您需要将参数的数组作为第三个参数添加到sqlsrv_query()。在初始化它们之后,您还应该使用pass the output parameters by reference。所以你的代码应该是这样的:

$maxNid = 0; 
$sqlToCheckNID = "SELECT (?)=MAX(nid) FROM testRetailerlist"; 
$param_nid = array(&$maxNid, SQLSRV_PARAM_OUT); 
$maxNidInDb = sqlsrv_query($conn, $sqlToCheckNID, $param_nid); 
echo "<li>" .$maxNid. "<li>"; 

欲了解更多信息,请咨询the documentation

+0

哦,我错过了。但在添加too.m时仍然遇到同样的错误。用更新 – user2129794 2013-03-16 10:42:44

+0

@ user2129794更新问题,我修改了我的答案。 – Adi 2013-03-16 10:50:05