当前位置: 首页 > 知识库问答 >
问题:

我的插入代码有什么问题,它得到一个意外的错误?

柯曜文
2023-03-14

我想寻求您的帮助,我在插页中收到了这个< code >错误。

Data truncated for column 'code' at row 1</p>
<p>INSERT INTO `permissions` (`employeeId`, `code`) VALUES ('2', '451</td');

我想出了什么问题,是"

这是我的php:

if (count($permissionsArray) > 0) {
            // Insert the new permissions to the database.
            $sSQL = "INSERT INTO `permissions` (`employeeId`, `code`) VALUES ";
            foreach ($permissionsArray as $item) {  
                $sSQL.= "('$eid', '$item'),";
            }
            $sSQL = substr($sSQL, 0, strlen($sSQL)-1).";";
            // Execute Query.
            $this->db->query($sSQL);
        }

共有2个答案

凌啸
2023-03-14
匿名用户

您尝试输入的数据长度超过了列定义允许的长度。请提供您使用的查询,以便我们查看。此外,通过谷歌搜索错误消息,得到:

http://forums.mysql.com/read.php?11,132672,132672 # msg-132672 http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html建议的解决方案是修改服务器的“严格模式”设置:

当本手册提到“严格模式”时,它是指至少启用< code>STRICT_TRANS_TABLES或< code>STRICT_ALL_TABLES之一的模式。

袁高峰
2023-03-14

如果问题是

  $text = '451</td';
echo strip_tags($text);
echo "\n";

**OUTPUT** : 451

既然你提到

I figured out whats wrong and it's the "</td" and that is unacceptable in my database. Does anyone knows how to remove that "</td". - **from question**

这是我的php:

if (count($permissionsArray) > 0) {
            // Insert the new permissions to the database.
            $sSQL = "INSERT INTO `permissions` (`employeeId`, `code`) VALUES ";
            foreach ($permissionsArray as $item) {  
                            $item = strip_tags($item);//removing html tag
                $sSQL.= "('$eid', '$item'),";
            }
            $sSQL = substr($sSQL, 0, strlen($sSQL)-1).";";
            // Execute Query.
            $this->db->query($sSQL);
        }

数据截断为列 xxxx 在行 1

mysql-data-ext-用于-列-前进-在行-1

error-data-truncated-for-column-lat-at-row-1

为列截断数据

从以上链接中,我也建议您按照下面的答案中kalp的建议检查服务器模式设置

第1行XX列的数据被截断

sql模式

 类似资料: