У меня есть оператор обновления SQL, который я запускаю из программы PHP. Это подготовлено и затем выполнено. Когда я запускаю его на PHP, он сообщает о нарушении ограничения. Когда я запускаю точно такой же оператор из командной строки (который я получаю через dBug ()), он работает без ошибок. Это звучит невозможно, поэтому я продолжаю искать различия между утверждениями. Единственное, что я могу видеть, это то, что когда я выполняю его с массивом аргументов, все они выглядят как символы, а некоторые должны быть целыми числами.
Есть предложения, где искать?
Вот версия PHP (я немного подправил ее, чтобы сделать ее более разборчивой):
$st =& $db->prepare("update tbl set uid=?, frequency=? other_id=? where id=$id");
$values = array($uid, $freq, $other_id);
$res =& $db->execute($st, $values);
new dBug ($res);