Php 如何将文本类型的输入字段数组插入数据库

Php 如何将文本类型的输入字段数组插入数据库,php,mysqli,Php,Mysqli,我目前在一个评估系统工作。我对评论功能有一个问题。输入字段是根据您将评估的人员数量动态创建的。我在向may数据库插入注释数组时出错,它的类型是text,在我的数据库中是varchar。当我将我的评论插入数据库时,它是空的 我已经检查了它是否在我的表格下,并且我已经检查了我发布的名称及其是否正确 我的输入字段 php代码谁处理 foreach$\u POST['nppersonnelid']为$i=>$personnelId{ $rComment=$_POST['nComment'][$i]; m

我目前在一个评估系统工作。我对评论功能有一个问题。输入字段是根据您将评估的人员数量动态创建的。我在向may数据库插入注释数组时出错,它的类型是text,在我的数据库中是varchar。当我将我的评论插入数据库时,它是空的

我已经检查了它是否在我的表格下,并且我已经检查了我发布的名称及其是否正确

我的输入字段

php代码谁处理

foreach$\u POST['nppersonnelid']为$i=>$personnelId{ $rComment=$_POST['nComment'][$i]; mysqli_查询$conn,插入注释 人事、评论 值“$personnelId”,“$rComment”; }
您可以使用以下命令序列化注释并保存在数据库中:

$rComment = serialize($_POST['nComment'][$i]);
然后,当您从数据库读取数据时,使用unserialize返回到数组


发布您收到的错误消息。没有错误消息,因此您的代码易受SQL注入攻击。你应该使用事先准备好的陈述@Jaspersorry@dharman我已经把它改成pdo了非常感谢@dharman!尝试将数据库中的结构从varchar更改为文本是的,这很有效!但是,顺便问一下,它是如何在文本中而不是在varchar中结束的呢?但衷心感谢!varchar限制您可以插入的字符数,例如,varchar120意味着您只能放入120个字符,文本为:请参阅以获取最大数字:TINYBLOB,TINYTEXT L+1字节,其中L<2^8 255字节BLOB,文本L+2字节,其中L<2^16 64 KB MEDIUMBLOB,MEDIUMTEXT L+3字节,其中L<2^24 16 MB长BLOB,长文本L+4字节,其中L<2^32 4 GB