【发布时间】:2016-01-03 18:48:57
【问题描述】:
大家好,我在使用 PDO 函数时遇到了一些问题。
我的密码:
while (($data = fgetcsv($handle, 1000, ",", "'")) !== FALSE) {
if($i > 0) {
$data = str_replace('"', '', $data);
$myDate = date("Y/m/d",strtotime(str_replace('-','-',$data[0])));
$data = str_replace(' ', '', $data);
$lastname = $data[1];
$firstname = $data[2];
$showdata = $db->prepare("SELECT userID FROM users WHERE firstname LIKE '%$firstname%' AND lastname LIKE '%$lastname%'");
$showdata->execute();
$rowas= $showdata->fetch(PDO::FETCH_ASSOC);
$userioID = $rowas['userID'];
$removals=$db->prepare("DELETE FROM late WHERE userID = '$userioID' AND dateandtime= '$myDate' ;");
$removals->execute();
$import->bindParam(1, $myDate, PDO::PARAM_STR);
$import->bindParam(2, $data[4], PDO::PARAM_STR);
$import->bindParam(3, $rowas['userID'], PDO::PARAM_STR);
$import->execute();
}
$i++;
}
如果没有 removals 部分,一切正常。删除 - 我收到错误:SQLSTATE[22018]:强制转换规范的字符值无效:-3030 [Microsoft][ODBC Microsoft Access Driver] 标准表达式中的数据类型不匹配。 (SQLExecute[-3030] at ext\pdo_odbc\odbc_stmt.c:254)
任何帮助将不胜感激。
【问题讨论】:
-
删除中的用户ID部分似乎有问题...任何人都可以建议?
-
您处理的字符串值是否包含 Unicode 字符而不是纯 ASCII 字符?
-
userID 值是简单的数字。
-
很明显,删除中的用户 ID 语法有问题,但无法找到确切的内容。