PDO字母'n'被删除而不输入mysql数据库

时间:2013-12-30 14:39:02

标签: php mysql string pdo

我真的希望有人能帮我解决这个奇怪的问题。问题是,当我在 MySQL 表中输入“down”这个词时,最后一个字母“n”不在字符串中给我留下表中存储的“dow”这个词。我不知道为什么会这样。我唯一能想到的是,我表中存储的下一个字符串是“no”,以“n”开头。

<?php
$machine_status = $_POST["status"];
$is_original    = $_POST["original"];
$query = "INSERT INTO `table` (id,machine_status,original_machine,datetime) VALUES (?,?,?,?);
$enter_data = $db->prepare($query);
$enter_data->bindValue(1,NULL,PDO::PARAM_INT);
$enter_data->bindParam(2,$machine_status,PDO::PARAM_STR);
$enter_data->bindParam(3,$is_original,PDO::PARAM_STR);
$enter_data->bindValue(4,NULL,PDO::PARAM_INT);
$enter_data->execute();
?>

我简化了查询和try / catch语句的长度,如果您需要更多我的周围代码,请告诉我。

所以除了machine_status字段之外我得到的数据都是......我得到了:

  

id:0,machine_status:“dow”,原文:“no”,日期时间:2013-12-30 05:53:47

注意“向下”结尾处缺少“n”

1 个答案:

答案 0 :(得分:4)

如果插入'down'的列的大小只能容纳三个字符,那么'down'将被截断为'dow'并发出警告。