向mysql语句发送运算符
我已经在这上面呆了大约三个小时,在网上搜索了一下,我所需要做的就是用一个弹出菜单向一个mysql语句发送一个操作员,这是我到目前为止所做的向mysql语句发送运算符,mysql,perl,cgi,Mysql,Perl,Cgi,我已经在这上面呆了大约三个小时,在网上搜索了一下,我所需要做的就是用一个弹出菜单向一个mysql语句发送一个操作员,这是我到目前为止所做的 $sqltest=$dbh->prepare("SELECT Time, Date, Event FROM Events WHERE Date ? ?"); $sqltest->execute(param('1'),(param('4')."-".param('3')."-".param('2'))); popup_menu({-values=
$sqltest=$dbh->prepare("SELECT Time, Date, Event FROM Events WHERE Date ? ?");
$sqltest->execute(param('1'),(param('4')."-".param('3')."-".param('2')));
popup_menu({-values=>["<",">","="], -name=>'1'})
$sqltest=$dbh->prepare(“从日期所在的事件中选择时间、日期、事件”);
$sqltest->execute(参数('1'),(参数('4')。“-”。参数('3')。“-”。参数('2'));
弹出菜单({-values=>[“”,“=”],-name=>'1'})
如果我删除第一个问号并用操作符替换它,代码就可以完美地工作,因此所有其他参数都可以正常工作,只是发送操作符时遇到了问题
干杯。您只能将值绑定到参数。运算符不是值,因此不能将其绑定到参数。如您所见,不能绑定运算符。如果您不想动态生成查询字符串,有一种编程方法:
%sqltest = (
'<' => $dbh->prepare("SELECT Time, Date, Event FROM Events WHERE Date < ?"),
'=' => $dbh->prepare("SELECT Time, Date, Event FROM Events WHERE Date = ?"),
'>' => $dbh->prepare("SELECT Time, Date, Event FROM Events WHERE Date > ?")
);
$sqltest{param(1)}->execute( param('4')."-".param('3')."-".param('2') );
%sqltest=(
''=>$dbh->prepare(“从日期>的事件中选择时间、日期、事件”)
);
$sqltest{param(1)}->execute(param('4')。“-”.param('3')。“-”.param('2'));
不能将运算符作为参数发送。您必须将其直接注入查询中。