Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 21st, 2010 | Syntax: C++ | Size: 1.86 KB | Hits: 72 | Expires: Never
Copy text to clipboard
  1. cell AMX_NATIVE_CALL NativeFunctions::n_mysql_fetch_row_format( AMX* amx, cell* params )
  2. {
  3.         unsigned int cID = params[3]-1; //cID is the instance ID
  4.         MySQL_Log(">> mysql_fetch_row_format( Connection handle: %d )",cID+1);
  5.         VALID_CONNECTION_HANDLE("mysql_fetch_row_format",cID);
  6.         CMySQLHandler *cHandle = SQLHandle[cID];
  7.         cHandle->Delimiter = AMX_H->GetString(amx,params[2]);
  8.         string fRow = cHandle->FetchRow();
  9.         if(fRow.compare("NULL") != 0) {
  10.                 AMX_H->SetString(amx,params[1],fRow);
  11.                 cHandle->m_szResult.clear();
  12.                 return 1;
  13.         }
  14.         return 0;
  15. }
  16.  
  17. string CMySQLHandler::FetchRow()
  18. {
  19.         if(!m_bIsConnected) {
  20.                 NativeFunctions::MySQL_Log("CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Connection is dead)");
  21.                 return string("NULL");
  22.         }
  23.         if(m_stResult == NULL) {
  24.                 NativeFunctions::MySQL_Log("CMySQLHandler::FetchRow() - You cannot call this function now. (Reason: Empty Result)");
  25.                 return string("NULL");
  26.         }
  27.         m_dwFields = mysql_num_fields(m_stResult);
  28.         m_stField = mysql_fetch_fields(m_stResult);
  29.         if((m_stRow = mysql_fetch_row(m_stResult))) {
  30.                 for(string::size_type i = 0;i < m_dwFields;i++) {
  31.                         m_cSStream << (m_stRow[i] ? m_stRow[i] : "NULL") << Delimiter;
  32.                 }
  33.                 getline(m_cSStream,m_szResult);
  34.                 m_cSStream >> m_szResult;
  35.                 if(m_szResult.empty()) {
  36.                         NativeFunctions::MySQL_Log("CMySQLHandler::FetchRow() - Result is empty.");
  37.                         return string("NULL");
  38.                 } else {
  39.                         m_cSStream.clear();
  40.                         m_szResult.erase(m_szResult.length()-1,m_szResult.length());
  41.                         NativeFunctions::MySQL_Log("CMySQLHandler::FetchRow() - Return: %s",m_szResult.c_str());
  42.                         return m_szResult;
  43.                 }
  44.         } else {
  45.                 m_dwError = mysql_errno(m_stConnectionPtr);
  46.                 if(m_dwError > 0) {
  47.                         NativeFunctions::MySQL_Log("CMySQLHandler::FetchRow() - An error has occured. (Error ID: %d, %s)",m_dwError,mysql_error(m_stConnectionPtr));
  48.                 }
  49.                 return string("NULL");
  50.         }
  51. }