将不需要(空)参数绑定到PDO查询中

时间:2014-05-15 11:42:48

标签: php pdo

我在网站上创建了“反馈”部分。在本节中,我已经包含了一个用于评论和星级评分系统的文本字段。不需要评级输入(人们不会被迫离开费率)并且用于创建$_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默认值?

1 个答案:

答案 0 :(得分:0)

if(empty($_POST['rating'])) $_POST['rating'] = 0;

绑定之前的某个地方。因此,无论用户操作如何,这都将始终为PDO提供int值。如果未设置评级,则评级变为0。