Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.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
如何使用不同的变量在PHP中创建SQL查询_Php_Android_Mysql_Get - Fatal编程技术网

如何使用不同的变量在PHP中创建SQL查询

如何使用不同的变量在PHP中创建SQL查询,php,android,mysql,get,Php,Android,Mysql,Get,当我创建一个依赖于用户在不同复选框中选择的许多变量的sql查询时,我遇到了一个问题。 我做了一个httprequest GET,当我提议创建查询时,我检查变量,然后逐步创建查询。我将向您展示PHP代码: $link = mysql_connect($hostname, $username, $password) or die('No se pudo conectar: ' . mysql_error()); //echo 'Conectado satisfactoriamente'; mys

当我创建一个依赖于用户在不同复选框中选择的许多变量的sql查询时,我遇到了一个问题。 我做了一个httprequest GET,当我提议创建查询时,我检查变量,然后逐步创建查询。我将向您展示PHP代码:

$link =  mysql_connect($hostname, $username, $password) or die('No se pudo conectar: '  . mysql_error());
//echo 'Conectado satisfactoriamente';
mysql_select_db('Agenda Juvenil') or die('No se pudo seleccionar la base de datos');
mysql_query('SET CHARACTER SET utf8');

$query="SELECT id, title, barrio_smultiple, coordenadas_p_0_coordinate,     coordenadas_p_1_coordinate, gratuita_b FROM eventosDiarios WHERE";

// check for post data

if (isset($_GET['franjas0'])){
 $franja0 = $_GET['franjas0'];
 $query.="franja_smultiple IN ('$franja0'";
 }

if (isset($_GET['franjas1'])){
 $franja1 = $_GET['franjas1'];
 $query.=",'$franja1'";
 }

if (isset($_GET['franjas2'])){
 $franja2 = $_GET['franjas2'];
 $query.=",'$franja2'";
 }

$query.=")";

// get a product from products table
$result = mysql_query($query) or die('Consulta fallida: ' . mysql_error());

if (mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["eventos"] = array();

while ($row = mysql_fetch_array($result)) {
    // temp user array
    $evento = array();
    $evento["id"] = $row["id"];
    $evento["title"] = $row["title"];
    $evento["barrio_smultiple"] = $row["barrio_smultiple"];

    $evento["coordenadas_p_0_coordinate"] = $row["coordenadas_p_0_coordinate"];
    $evento["coordenadas_p_1_coordinate"] = $row["coordenadas_p_1_coordinate"];
    $evento["gratuita_b"] = $row["gratuita_b"];


    // push single product into final response array
    array_push($response["eventos"], $evento);
}
// success
$response["success"] = 1;

// echoing JSON response
echo json_encode($response);

} else {
// no products found
$response["success"] = 0;
$response["message"] = "No se han encontrado eventos";

// echo no users JSON
echo json_encode($response);
}
查询必须返回一些内容,但我什么都没有。这些变量通过

List<NameValuePair> params = new ArrayList<NameValuePair>();
List params=new ArrayList();
我用的是安卓。 有人能帮帮我吗

提前谢谢


注意。

您的代码需要在WHERE后面有一个空格。需要说明的是

...b FROM eventosDiarios WHERE ";
而不是

....b FROM eventosDiarios WHERE";

否则你会得到一个错误的查询。

哪里????你的问题是incomplete@mona因为OP可能是附加到变量上的?@vld是的,但是如果第一个if条件呢fails@mona实际上,我们不知道它是否会因此而失败。我建议OP提供更多的代码,这样我们可以说一些更具体的东西。目前,OP表示查询不返回任何内容,因此我假设生成的查询是有效的,但实际的条件逻辑不是,因此不会返回任何内容。@Vld我确信首先if不会失败,因为我总是单击此选项。问题是查询不返回任何内容。这样创建查询的好方法是什么?