下面是mysql准备的用于搜索表的语句。
表中有一个is U活动列。用户可以选择搜索true(1)、false(0)或All。在所有语句的情况下,需要同时搜索true和false。
当系统通过:isActive绑定时,如果用户希望同时搜索true和false,我需要将什么值应用到:isActive?提前谢谢你的帮助。
$stmt = $conn->prepare(
'SELECT company_id, name, alias, fk_company_type as type, is_active as active
FROM company
WHERE is_active = :isActive
AND name LIKE :srchField'
);
$stmt->bindParam(':srchField', $srchField, PDO::PARAM_INT);
//bind :srchField to $srchField in sql statement
$stmt->bindParam(':isActive', $isActive, PDO::PARAM_INT);
最佳答案
有一个php标记来检查变量是否为整数,使用它可以解决此问题。
$stmt = $conn->prepare('SELECT company_id, name, alias, fk_company_type as type, is_active as active FROM company WHERE (is_active = :isActive) AND (name LIKE :srchField)');
$stmt->bindParam(':srchField', $srchField, PDO::PARAM_INT); //bind :srchField to $srchField in sql statement
$isActive = is_int($int) ? $int : '0 OR 1'; // $int is an argument which to search option.
$stmt->bindParam(':isActive', $isActive, PDO::PARAM_INT);
关于php - PHP PDO MYSQL所有,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29771335/