Javascript 基于用户输入编译动态ADODB SQL语句的最佳方法

Javascript 基于用户输入编译动态ADODB SQL语句的最佳方法,javascript,sql,mysqli,adodb,Javascript,Sql,Mysqli,Adodb,我需要你的帮助 如何编写用户定义的动态SQL查询 我的网页上有4个文本字段 var a = document.getElementById('prefix').value var b = document.getElementById('firstname').value var c = document.getElementById('middlename').value var d = document.getElementById('lastname').value 如果用户填写任意一个

我需要你的帮助

如何编写用户定义的动态SQL查询

我的网页上有4个文本字段

var a = document.getElementById('prefix').value
var b = document.getElementById('firstname').value
var c = document.getElementById('middlename').value
var d = document.getElementById('lastname').value
如果用户填写任意一个文本框,我如何使用javascript编译和构建SQL语句

例如,将填写前缀、姓氏和名:

SELECT * FROM TABLE WHERE PREFIX = a AND LASTNAME = d AND FIRSTNAME = b
例如,填写firstname和lastname

SELECT * FROM TABLE WHERE FIRSTNAME = b AND LASTNAME = d
除了使用一堆if语句来检查任何4个给定条件之外,还有更好的过程吗

似乎迭代了一大堆if语句是多余的


谢谢

我不完全确定我是否理解您的要求,但是使用4 if语句的另一种选择是将它们包含在SQL语句中:

SELECT * 
FROM TABLE 
WHERE (PREFIX = a OR a = '') 
    AND (LASTNAME = d OR d = '')  
    AND (MIDDLENAME = c OR c = '') 
    AND (FIRSTNAME = b OR b = '') 

这样,如果值为空,它不会搜索它们。

一个或多个参数没有给定值:SQL=SELECT*FROM tbl_rssims+其中+FIRSTNAME=+FIRSTNAME+或+FIRSTNAME+=+和LASTNAME=+LASTNAME+或+LASTNAME+=@JohnSmith-似乎对我有用:-我对你上面的评论的唯一猜测是你需要在字段周围加上单引号i、 e.LASTNAME='+LASTNAME+'。。。不过要小心,这种方法容易受到SQL注入的影响。顺致敬意,