无法执行PDO准备声明

时间:2013-08-28 20:55:58

标签: php pdo odbc visual-foxpro dbase

尝试执行以下代码:

try 
{
    $conn = new PDO('odbc:Clasges5');           
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO codpais (clapai,codpas,nompas) VALUES (:clapai,:codpas,:nompas)";
    $q = $conn->prepare($sql);
    $clapai = 31;
    $codpas = 'test codpas';
    $nompas = 'test nompas';
    $q->bindParam(':clapai', $clapai, PDO::PARAM_INT);
    $q->bindParam(':codpas', $codpas, PDO::PARAM_STR);
    $q->bindParam(':nompas', $nompas, PDO::PARAM_STR);
    $q->execute();        
}
catch(Exception $e)
{
echo $e->getMessage();
}

数据库(VisualFox DBase via ODBC)如下所示: - 表codpais - clapai主键 - codpas字符串 - nompas string

我收到了错误的无法转换规范的字符值:302

问题是“clapai”。如果我使用codpas或nompas执行更新一切正常,如果我尝试更新clapai值它会抛出相同的错误。

有任何提示可以解决这个问题吗? BTW。最好使用命名占位符或问号?任何优势?

0 个答案:

没有答案