我在网站上创建了“反馈”部分。在本节中,我已经包含了一个用于评论和星级评分系统的文本字段。不需要评级输入(人们不会被迫离开费率)并且用于创建$_POST['rating']
整数变量(1-5),该变量被绑定到插入PDO查询中:
$dbms->bindparam(':rating', $_POST['rating'], PDO::PARAM_INT);
设置$_POST['rating']
变量时效果很好,但是当它不是时,我会收到以下错误:
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'rating' at row 1
是否有任何方法(即一个标志)告诉PDO仅在它不为空时绑定参数并改为使用MySQL默认值?
答案 0 :(得分:0)
if(empty($_POST['rating'])) $_POST['rating'] = 0;
绑定之前的某个地方。因此,无论用户操作如何,这都将始终为PDO提供int值。如果未设置评级,则评级变为0。