根据用户输入编译动态ADODB SQL语句的最佳方法

时间:2013-05-01 17:08:09

标签: 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

如果用户填写其中一个文本框,我如何使用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语句是多余的。

由于

1 个答案:

答案 0 :(得分:0)

我不完全确定我理解您的要求,但使用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 = '') 

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