Nasıl bir MAMP ortama bir ODBC sürücüsü eklerim?

1 Cevap php

Ben set-up php ve bir MS Access veritabanı kullanan bir PC üzerinde inşa edilmiş bir şey üzerinde çalışıyorum. Ne zaman MAMP çevreye I portu app, alıyorum

Fatal error: Call to undefined function odbc_connect() in /path/to/index.php on line 37

satır 37 bu gibi görünüyor:

return odbc_connect("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=myfile.mdb",
"ADODB.Connection", "", "SQL_CUR_USE_ODBC");

Bu odbc PHP MAMP sürümü derlendi değil gibi görünüyor (5). Ben de PDO kullanarak denedim, ve benzeri hatalar var.

Herkes bu nasıl düzeltmek için biliyor musun?

1 Cevap

Eğer makinenize Actual ODBC gibi bir ODBC sürücüsü eklemek gerekir, PHP sizin versiyonu olmalı uyulması herhangi bir ODBC işlevsellik, olsaydı olduğunu, ancak değilse farklı bir yüklemeniz gerekir uygun desteği ile versiyonu. I MacPorts PHP yüklemek için kullandığınız ile iyi şanslar yaşadım. Ama sen bu kadar gibi bu işlevlerinin sarıcılarıdır yazmak gerekecek beklediğiniz eksik bazı fonksiyonlar hala var olduğunu unutmayın:

  if(!function_exists("odbc_fetch_array"))
  {
    function odbc_fetch_array($aResult,$anAssoc=false)
    {
    	# Out of rows? Pass back false!
    	if(!odbc_fetch_row($aResult)) return false;

    	$theRow = array();

          # Build up array
    	$theNumFields = odbc_num_fields($aResult);
    	$theLimit = $theNumFields+1;
          for($i=1; $i<$theLimit; $i++)
          {
    		# WARNING: Starts our index at 0, unlike standard ODBC which starts at 1
              $theRow[odbc_field_name($aResult, $i)] = odbc_result($aResult, $i);
              if(!$anAssoc) $theRow[$i-1] = $theRow[odbc_field_name($aResult, $i)];
    	}
    	return $theRow;
    }
  }

  if(!function_exists("odbc_fetch_assoc"))
  {
    function odbc_fetch_assoc($aResult)
    { 	
    	if (DIRECTORY_SEPARATOR == '/') // call local function on MACs
    	{
    		return odbc_fetch_array($aResult,true);
    	}
    	else // call built in function on Windows
    	{
    		return odbc_fetch_array($aResult);
    	}
    }
  }