我需要在像这样的查询中执行我的函数
$re = $bddp->prepare("SELECT * FROM `shop`, `hours` WHERE isOpen('`hours`.`day1`') = true";
$re->execute();
hours
。day1
是一个varchar,开放时间是星期一,就像这个“10:00-14:00”
功能isOpen
测试是否打开并返回true
或false
问题是我可以将hours.day1
变量发送到 WHERE isOpen('isOpen
。hours
中的day1
函数中<{1}} ?
不能使用PDO准备或执行此操作吗?
答案 0 :(得分:1)
在SQL查询中,您只能使用MySQL本机函数stored functions/procedures和User-Defined Functions (UDF)。
我认为如果表结构正确(开始结束时间在单独的列中),则不会有问题。然后,您只能在WHERE部分中使用一些条件来实现目标。
如果数据量(行数)不大,那么您可以选择所有行并在PHP端完成验证。