не могу это исправить, sqlsrv_execute(): предоставленный ресурс не является допустимым ресурсом ss_sqlsrv_stmt

#php #sql-server #sqlsrv

#php #sql-сервер #sqlsrv

Вопрос:

Продолжайте получать эту ошибку:

sqlsrv_execute(): предоставленный ресурс не является допустимым ресурсом ss_sqlsrv_stmt.

Попробовал использовать sqlsrv_fetch() , sqlsrv_fetch_array() , все дали мне ту же ошибку. Есть какие-нибудь советы по поводу того, что я упускаю или исправляю?

 class mssql_db{  private $conn;  private function connect(){  $serverName = "servername";   $connectionInfo = array( "Database"=gt;"mydb", "UID"=gt;"myuser", "PWD"=gt;"mypass");  $connStat = sqlsrv_connect($serverName, $connectionInfo);  if ($connStat) {  echo "Connection Establishedlt;br/gt;";  return $connStat;  }  else {  echo "Connection Failedlt;br/gt;";  die( print_r( sqlsrv_errors(), true));  }   }  private function disconnect(){  // sqlsrv_close($conn);   }   public function getContent($query){  $idRecord = 1;   $stmt = sqlsrv_prepare( $this-gt;connect(), $query, array(amp;$idRecord));  if( !$stmt ) {  die( print_r( sqlsrv_errors(), true));  }  echo $stmt;  die();  if( sqlsrv_execute( $stmt ) === false ) {  die( print_r( sqlsrv_errors(), true));  }  } }  $db = new mssql_db(); $query = "SELECT * FROM TestTable WHERE RecordID = ?"; $db-gt;getContent($query);  

Комментарии:

1. Попробуйте назначить ресурс подключения переменной и передать эту переменную в sqlsrv_prepare() : $conn = $this-gt;connect(); $stmt = sqlsrv_prepare($conn, $query, array(amp;$idRecord)); . Или, что еще лучше, назначьте ресурс подключения частному $conn члену вашего класса.