Php 为什么';准备好的支架不能正常工作吗?

Php 为什么';准备好的支架不能正常工作吗?,php,mysql,bindparam,Php,Mysql,Bindparam,我在我的页面上插入了BindParam,我注意到有时帖子要么是空的,要么是一半的文本,有人知道这可能是由于某个特殊字符造成的,还是有人知道这个问题?我还在学习,对不起我的英语 $description = htmlspecialchars(trim($_POST['description'])); $sql= $this->db->prepare("INSERT INTO product SET description= :description"); $sql

我在我的页面上插入了BindParam,我注意到有时帖子要么是空的,要么是一半的文本,有人知道这可能是由于某个特殊字符造成的,还是有人知道这个问题?我还在学习,对不起我的英语

$description = htmlspecialchars(trim($_POST['description']));

$sql= $this->db->prepare("INSERT INTO product SET description= :description");
$sql->BindParam(":description", $description, PDO::PARAM_STR);
$sql->execute();
描述示例:“我喜欢踢足球”

数据库中的描述:“我喜欢pl”


但我不知道为什么,因为帖子来自用户,可能会使用一些特殊字符,使其无法正常工作

    $description = htmlEntities($_POST['description']);

使用以下数据类型(TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT)

我认为这不是您的查询本身,因为您声明变量有时为空。当$description中有值时,它是否工作?您所说的不能正常工作是什么意思?发生了什么?描述示例:“我喜欢踢足球”数据库中的描述:“我喜欢pl”,但我不知道为什么,因为帖子来自用户,可能使用了特殊字符,它无法正常工作。看起来好像被截断了。“描述”列设置为什么?