我已经尝试使用 odbc_prepare()
+ odbc_execute()
来更新 Access 文件中的记录,但我总是得到 SQL 状态 07001
关于不正确的列计数的错误消息(实际上,该消息是西类牙式的,没有多大意义):
<?php
$items = array();
$items[100] = 'Foo';
$items[200] = 'Bar';
$sql = 'UPDATE street
SET name=?
WHERE street_id=?';
$stmt = odbc_prepare($conection, $sql);
if( $stmt===FALSE ){
die(odbc_errormsg());
}
foreach($items as $cod => $name){
if( !odbc_execute($stmt, array($name, $cod)) ){
die(odbc_errormsg());
}
}
用户评论 odbc_execute manual page建议 Microsoft Access ODBC 驱动程序不支持参数化查询。但是,我还没有找到一个 odbc_* 函数来转义数据。
那么...我怎样才能转义输入数据?
最佳答案
通常在 MS Access 中,您通过将参数放在括号中来标识参数
$sql = 'UPDATE street
SET name=[myname]
WHERE street_id=[mystreet]';
这将如何与 php 融合,我不知道。
关于php - 使用 ODBC + Access 时转义 SQL 查询中的输入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996275/