如何使用不同的变量在PHP中创建SQL查询
当我创建一个依赖于用户在不同复选框中选择的许多变量的sql查询时,我遇到了一个问题。 我做了一个httprequest GET,当我提议创建查询时,我检查变量,然后逐步创建查询。我将向您展示PHP代码:如何使用不同的变量在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
$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不会失败,因为我总是单击此选项。问题是查询不返回任何内容。这样创建查询的好方法是什么?