2011-04-22 35 views
0
$conn=odbc_connect('mobshopDB','',''); 
    if(!$conn){ 
     exit("Connection Failed: " . $conn); 
    } 
    $query="INSERT INTO users(uid,pass,fname,lname,pmm) VALUES('$username','$password','$fname','$lname',$pmm)"; 
    $rs=odbc_exec($conn,$query); 

此查詢給了我這個錯誤數據類型不匹配使用Access通過ODBC

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression., SQL state 22005 in SQLExecDirect in C:\Program Files\EasyPHP-5.3.6.0\www\mobshop\registered.php on line 39

..please提出一個解決方案

注:PMM是一個數字字段,這就是爲什麼我沒有把它放在引號中。

+0

需要表結構能夠準確回答這些問題。 – afuzzyllama 2011-04-22 05:11:15

回答

1

「數據類型不匹配」表示您正在嘗試在第一組括號中列出的某個字段的某個變量中傳遞不正確的數據類型。

嘗試使用echo向屏幕寫入$ query,然後獲取該結果並在MS Access數據庫查詢設計器(假設您有MS Access軟件)中運行該查詢。

0

取而代之的是

$query="INSERT INTO users(uid,pass,fname,lname,pmm) VALUES('$username','$password','$fname','$lname',$pmm)"; 

嘗試這個

$query="INSERT INTO users(uid,pass,fname,lname,pmm) VALUES('$username','$password','$fname','$lname','$pmm')"; 

你忘掉在$ PMM場單引號。請記住,如果您使用的是ODBC,那麼請謹慎使用數據類型。

如果該值將是一個整數,然後做這樣
$id = (int) $id;

的值類型轉換如果數據類型不是整數,然後你必須把單引號

相關問題