Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于用户输入的查询&x2014;PHP_Php_Pdo_Modx - Fatal编程技术网

基于用户输入的查询&x2014;PHP

基于用户输入的查询&x2014;PHP,php,pdo,modx,Php,Pdo,Modx,我正在使用的脚本接收字段名/值对字符串,将其拆分,并从中创建查询。字符串的格式如下所示: var1==value1,var2==value2... var1==value1,var4==value4 这些值将由用户在网站前端提交。因此,如果用户为var1和var4选择一个值,而不是2和3,我需要字符串如下所示: var1==value1,var2==value2... var1==value1,var4==value4 获取用户提交的数据不是问题。仅当关联值不为空时,添加字段名和==的最

我正在使用的脚本接收字段名/值对字符串,将其拆分,并从中创建查询。字符串的格式如下所示:

var1==value1,var2==value2...
var1==value1,var4==value4
这些值将由用户在网站前端提交。因此,如果用户为
var1
var4
选择一个值,而不是2和3,我需要字符串如下所示:

var1==value1,var2==value2...
var1==value1,var4==value4
获取用户提交的数据不是问题。仅当关联值不为空时,添加字段名和==的最佳方法是什么

if (isset($varname))
isset-确定变量是否已设置且不为空

if(empty($varname)))
empty-确定变量是否为空

if(is_null($varname)))
is_null-查找变量是否为null


换句话说,它只在变量为null时返回true。is_null()与isset()相反,只是您可以对未知变量使用isset()

你可以这样做

$pairs =  "var1==stuff,var3==morestuff"

if(strpos($pairs, "var2==") !== false){
    $pairs .= "var2==defaultvalue";
}
你可以对你想要的每一个变量都这样做。这将能够检查


关于strpo:

只需快速浏览提交的表单字段,查找任何具有以下值的内容:

foreach($_POST as $key => $value){

    if($value != ''){
            // do stuff
    }
}
还添加一个复选框以跳过submit=submit位:)