2012-08-09 24 views
0

什麼即時做錯了,我的代碼是在PHP中,我想保存數據到dbf。無法保存數據在vfp dbf thourgh php

我已經測試在VFP此代碼,它是工作

VFP代碼

hh='INSERT INTO instadb.db(pic_nm,user_pic,hashtag,usernm) values("abc","dd","eee","fff")' 
hh1=CREATEOBJECT("ADODB.Connection") 
hh1.Open("Provider=VFPOLEDB.1;Data Source=d:\newweb\inst\;Exclusive=NO;BackGroundFetch=NO;NULL=NO;Collate=MACHINE") 
hh1.Execute(hh) 

這個代碼工作,

但是在PHP

現在我寫這個代碼php

<?php 

$conn = new COM("ADODB.Connection") ; 
$jj="Provider=VFPOLEDB.1;Data Source=d:\newweb\inst\;Exclusive=NO;BackGroundFetch=NO;NULL=NO;Collate=MACHINE"; 
$conn->Open("Provider=VFPOLEDB.1;Data Source=d:\newweb\inst\;Exclusive=NO;BackGroundFetch=NO;NULL=NO;Collate=MACHINE"); 
$dd="INSERT INTO instadb.db(pic_nm,user_pic,hashtag,usernm) values('abc','dd','eee','fff')"; 
$conn->Execute($dd); 
$conn->Close(); 

?> 

這不是工作,請讓我知道了什麼是問題

感謝

回答

0

裹在單引號連接字符串:

$jj='Provider=VFPOLEDB.1;Data Source=d:\newweb\inst\;Exclusive=NO;BackGroundFetch=NO;NULL=NO;Collate=MACHINE'; 

雖然它被包裹在雙引號

d:\newweb\inst\ 

變成

d: 
ewweb\inst\ 

...因爲PHP將\n轉換爲新行。

+0

我已經將這個d:\ newweb \ inst \更改爲d:\ NEWWEB \ inst \,並且它現在正在工作,謝謝 – chetan 2012-08-09 10:38:57

+0

是的,我想這也可以。我個人更喜歡將所有路徑名稱的外框與它們在* nix可移植性的文件系統中保持一致,但我認爲使用特定於Windows的代碼這樣做確實沒有關係。請注意,只是簡單地將引號樣式從雙引號改爲單引號就可以完成這項工作,但無論對你有用:-) – DaveRandom 2012-08-09 10:42:07

+0

我試過單個代碼,但它對我無效。 – chetan 2012-08-09 11:15:18