2013-12-19 45 views
2

我需要一些幫助。我正在從Salesforce導出到MySQL數據庫。從Salesforce複製數據 - PHP工具包和捲曲

我可能會選擇錯誤的路徑,因爲我是新手。我現在所擁有的是對我們的Salesforce的簡單php查詢。現在查詢只是將結果回顯給HTML。我需要做的是將此腳本連接到MySQL數據庫並添加或更新數據庫中的記錄。

使用Salesforce PHP工具包,我的連接和查詢就是這麼簡單。 (Appologies的醜陋內嵌HTML。

$query = "SELECT Id, FirstName, Random_Last_Initial__c, Created_Date__c, Building_Zip_Code__c from Lead"; 
$queryResult = $mySforceConnection->query($query); 
$records = $queryResult->records; 
foreach ($records as $record) { 
    $sObject = new SObject($record); 
    echo "<ul style='list-style:none;'>"; 
    echo "<li>Id = ".$sObject->Id; 
    echo "</li><li>First Name = ".$sObject->fields->FirstName; 
    echo "</li><li>Initial = ".$sObject->fields->Random_Last_Initial__c; 
    echo "</li><li>Date Created = ".$sObject->fields->Created_Date__c; 
    echo "</li><li>Zip = ".$sObject->fields->Building_Zip_Code__c; 
    echo "</li></ul>"; 
} 

所有這一切都很好,我只需要結果轉儲到數據庫中。

謝謝!

+0

您希望如何結果顯示在數據庫中? – ehime

+1

與salesforce無關,您只需要精簡如何進行mysql INSERT查詢。 – 2013-12-19 21:27:54

回答

1

應工作

$dbh = New PDO('mysql:host=localhost;dbname=myDatabase', $username, $password); 

foreach ($records AS $record) 
{ 
    $sObject = New SObject($record); 

    $stmt = $dbh->prepare ("INSERT INTO tablename SET sObjectId = :sid, firstName = :firstName, initial = :initial, createdDate = :created, zipCode = :zipcode"); 
    $stmt -> bindParam(':sid',   $sObject->Id); 
    $stmt -> bindParam(':firstName', $sObject->fields->FirstName); 
    $stmt -> bindParam(':initial',  $sObject->fields->Random_Last_Initial__c); 
    $stmt -> bindParam(':created',  $sObject->fields->Created_Date__c); 
    $stmt -> bindParam(':zipcode',  $sObject->fields->Building_Zip_Code__c); 
    $stmt -> execute(); 
} 

只需根據需要填寫您的數據庫設置,表名稱和列名稱

+0

我基本上把你在數據庫本身的內容做了鏡像,但沒有任何內容存儲在表中。它不會拋出任何連接錯誤,所以我不確定什麼可能是錯誤的。 –

+0

我有一些不正確的信息。這工作,謝謝你! –