2011-04-22 36 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;

的值类型转换如果数据类型不是整数,然后你必须把单引号

相关问题