0

我有这些查询:

$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();

当我运行它时,它没有显示错误,但该值不会插入到表中。我正在使用循环插入

知道为什么会出错吗?

4

2 回答 2

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();
于 2013-06-13T10:17:58.413 回答
0

你说你没有看到错误。你确定你启用了 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 的评论描述了这个问题。

于 2013-06-13T10:18:27.973 回答