Почему bindvalue не вставляется в таблицу?
У меня есть этот запрос:
$sql="insert into m_ruangan (RG_ID,RG_Nama,RG_Kapasitas,RG_Keterangan,RG_AktifYN,RG_UpdateID,RG_UpdateTime) ".
"values (:field1,:field2,:field3,:field4,:field5,:field6,:field7); ";
$stmt->bindValue(':field1', $result['RG_ID'], PDO::PARAM_INT);
$stmt->bindValue(':field2', $result['RG_Nama'], PDO::PARAM_STR);
$stmt->bindValue(':field3', $result['RG_Kapasitas'], PDO::PARAM_INT);
$stmt->bindValue(':field4', $result['RG_Keterangan'], PDO::PARAM_STR);
$stmt->bindValue(':field5', $result['RG_AktifYN'], PDO::PARAM_STR);
$stmt->bindValue(':field6', $result['RG_UpdateID'], PDO::PARAM_STR);
$stmt->bindValue(':field7', $result['RG_UpdateTime'], PDO::PARAM_STR);
$stmt =$m_f->cdb->prepare($sql);
$stmt->execute();
Когда я запускаю его, он не показывает ошибки, но значение не будет вставлено в таблицу. Я использую цикл для вставки
Любая идея, почему это идет не так?
2 ответа
Вам нужно prepare
Ваше заявление SQL до bindValue
,
$stmt =$m_f->cdb->prepare($sql);
$stmt->bindValue(':field1', $result['RG_ID'], PDO::PARAM_INT);
$stmt->bindValue(':field2', $result['RG_Nama'], PDO::PARAM_STR);
.........
$stmt->execute();
Вы говорите, что не видите ошибку. Вы уверены, что включили ошибки PDO?
$connection = new PDO($connection_string);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Вы можете выбрать один из них:
PDO::ERRMODE_SILENT: Just set error codes.
PDO::ERRMODE_WARNING: Raise E_WARNING.
PDO::ERRMODE_EXCEPTION: Throw exceptions.
РЕДАКТИРОВАТЬ: Я думаю, что комментарий Rikesh описывает проблему.