1

这是我的sql操作代码..

$conn= get_db_connection();
    var_dump($data);
    $PickupDate     =   date('m/d/Y', strtotime($data[17]));
    $OrderNum       =    $data[4];
    $TrackingID     =   $data[15];
echo $sql_1 =   'UPDATE Tracking SET Tracking.PickupDate = "'.$PickupDate.'", Tracking.Carrier = "USPS", Tracking.EmailSent = "-1", Tracking.Notes = "Inserted by TIA", Tracking.TrackingID = "'.$TrackingID.'", Tracking.External= "1" WHERE Tracking.OrderNum= "'.$OrderNum.'"';
$rs1=odbc_exec($conn,$sql_1);

回显查询结果

UPDATE Tracking SET Tracking.PickupDate = "10/03/2013", Tracking.Carrier = "USPS", Tracking.EmailSent = "-1", Tracking.Notes = "由 TIA 插入", Tracking.TrackingID = "9400110200881918988535", Tracking.External=“1”WHERE Tracking.OrderNum=“59836”

如果我直接粘贴这个查询来访问(这个回显版本)它可以工作..但是当我通过我的 odbc 连接运行它时......错误是......

警告:odbc_exec():SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 参数太少。预期 7.,SQLExecDirect 中的 SQL 状态 07001 在 D:\wamp1\www\ftp\ftp_functions.php 第 94 行

第 94 行是$rs1=odbc_exec($conn,$sql_1);

所以,我可以看到,存在的每个参数都是我的查询,仍然得到错误,

试图解决它几个小时,但没有成功,

一些身体可以帮助我吗?提前致谢

ps:pickupdate,ordernum,trackingID,所有这些都是TEXT(使用stone edge:(无法控制数据类型,尽管我相信它们应该是日期和int类型)

4

1 回答 1

0

这对我有用

$sql_1  =   "UPDATE Tracking
 SET PickupDate='$PickupDate', TrackingID = $TrackingID, 
  Tracking.Carrier = 'USPS', Tracking.EmailSent = '-1', Tracking.Notes = 'Inserted by TIA', Tracking.External= '1'
 where OrderNum='$OrderNum'";

似乎 odbc 和 ms-access 正在使用 qoutes 创建问题

于 2013-10-12T20:03:49.073 回答