我找到了一个旧的项目,不知何故它不再起作用了吗?我的意思是真的,我们将其关闭了,现在不再了。
function fetchCharacter($UserNo){
$connection_array = array( "Database"=>"Character", "UID"=>"sa", "PWD"=>"Password");
$testcon = sqlsrv_connect("D-PCSQLExpress", $connection_array);
$sql = "SELECT * FROM tCharacter WHERE nUserNo = ? AND bDeleted = ?";
$param = array($UserNo, 0);
$characters = sqlsrv_query($testcon, $sql, $param);
while($character = sqlsrv_fetch_array($characters, SQLSRV_FETCH_ASSOC))
所以我真的不知道那里有什么问题。我收到sqlsrv_query
和sqlsrv_fetch_array
的错误。
谢谢您的帮助。
您应该在sqlsrv
函数后寻找错误。
function fetchCharacter($UserNo) {
$connection_array = array( "Database"=>"Character", "UID"=>"sa", "PWD"=>"Password");
$testcon = sqlsrv_connect("D-PCSQLExpress", $connection_array);
if (!$testcon) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT * FROM tCharacter WHERE nUserNo = ? AND bDeleted = ?";
$param = array($UserNo, 0);
$characters = sqlsrv_query($testcon, $sql, $param); // telling $stmt instead of $characters could be less confusing
if( !$characters ) {
die( print_r( sqlsrv_errors(), true));
}
$character = sqlsrv_fetch_array($characters, SQLSRV_FETCH_ASSOC);
if($character === FALSE) {
die( print_r( sqlsrv_errors(), true));
} else if ($character === NULL) {
// no result from select
return;
}
do {
// some operations
} while($character = sqlsrv_fetch_array($characters, SQLSRV_FETCH_ASSOC));
...
参考
- https://learn.microsoft.com/en-us/sql/connect/php/sqlsrv-connect
- https://learn.microsoft.com/en-us/sql/connect/php/sqlsrv-query
- https://learn.microsoft.com/en-us/sql/connect/php/sqlsrv-fetch-array