我使用PDO和存儲過程與MySQL(InnoDB)和由於某種原因數據沒有被插入 - 排序。MySQL不插入使用PDO和存儲Procs
當我查看錶格上的屬性時,每次運行Auto_increment時它都會上升,並且它會經歷無錯誤。最後,我選擇了我通過的變量,這很好。
但是,即使表格「遞增」,數據也不存在。如果我選擇它所說的auto_increment ID,我什麼也得不到。如果我選擇*並再次訂購desc,則不會顯示最新的。
任何想法可能導致這種情況?
謝謝!
這裏的存儲過程:
DELIMITER $$
USE `DB`$$
DROP PROCEDURE IF EXISTS `addVal`$$
CREATE DEFINER=`data`@`%` PROCEDURE `addVal`(
v_val_accountid INT,
v_val_groupid INT,
v_val_validationtypeid INT,
v_val_validationstatusid INT,
v_val_key VARCHAR(255),
v_val_expirationdate DATETIME
)
MAIN:BEGIN
INSERT `Validation` (
Val_AccountId,
Val_GroupId,
Val_ValidationTypeId,
Val_ValidationStatusId,
Val_Key,
Val_ExpirationDate
) VALUES (
v_val_accountid,
v_val_groupid,
v_val_validationtypeid,
v_val_validationstatusid,
v_val_key,
v_val_expirationdate
);
END$$
DELIMITER;
這裏的PDO準備語句:
$key = '123456789';
$group_id = 0;
$type_id = 2;
$status_id = 1;
$date = 'DATE_ADD(NOW(), INTERVAL 1 DAY)';
$stmt = $this->db->prepare("CALL addVal(:account_id, :group_id, :type_id, :status_id, :key, :date)");
$stmt->bindParam(':account_id', $account_id, PDO::PARAM_INT);
$stmt->bindParam(':group_id', $group_id, PDO::PARAM_INT);
$stmt->bindParam(':type_id', $type_id, PDO::PARAM_INT);
$stmt->bindParam(':status_id', $status_id, PDO::PARAM_INT);
$stmt->bindParam(':key', $key, PDO::PARAM_STR);
$stmt->bindParam(':date', $date, PDO::PARAM_STR);
我想你會需要顯示一些代碼和例子 – 2011-12-18 20:34:29
謝謝 - 添加! – dzm 2011-12-18 21:03:24
嗯。那麼您通過PDO輸入到查詢中的數據是否缺失?你確定它在那裏嗎? – 2011-12-18 21:08:58