0

我的问题如下

Y 有两个从函数(方法)内部调用的函数

如果第一个函数的结果为 TRUE,则第二个函数运行选择和更新查询。

第二个函数使用 query($sql) 命令运行选择更新查询使用:

$stmt = $db->prepare($sql);
 $stmt->execute(arraywithvalues);

分开地,这两个函数都可以正常工作,但是当它们都被调用时就不行了,换句话说,当第二个函数需要执行时,它就会失败。如果我将第一个函数注释掉,它会执行得很好吗?

编辑

更新查询

$tt = time() - 3600;
$w =array(NULL, NULL, $passw_new, $passw_key_new, $user_id);
$sql ="UPDATE table SET new_passw_requested =?";
$sql .=" WHERE passw_key_new='b02cdf33e46923de5a097c594e846764'";
$sql .=" AND UNIX_TIMESTAMP(new_passw_requested) >= $tt";
$sql .= " AND id=?";

实际功能是。1)can_reset_passw() 运行选择查询,2) reset_passw() 执行一次选择然后更新。就像我上面所说的那样,这两个功能都可以独立工作。

错误:找到一个

SELECT * FROM table WHERE id = :id AND actief = :actief
Array ( [0] => SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens ) 

所以有些事情搞砸了

我尝试设置 $stmt = NULL 来清除资源,但这没有用。不知何故,第一次选择的标记仍在记忆中,我想

我能做些什么来解决这个问题?

解决了

最后一个错误使我走上了正确的道路。dbabstraction 类在内存中保持 de 条件

谢谢,理查德

4

1 回答 1

0

(OP 不久前解决了这个问题,并且在问题中编辑了解决方案,因此它保留在未回答的队列中。在此处复制为社区 wiki 答案以反映状态,尽管答案很短。如果有人可以回答他们可以在这里编辑更连贯。请参阅没有答案的问题,但问题已在评论中解决(或在聊天中扩展)

OP写道:

最后一个错误使我走上了正确的道路。dbabstraction班级在记忆中保持条件

于 2015-01-27T09:38:13.470 回答