簡體   English   中英

如何在PHP中使用不同變量創建SQL查詢

[英]How to create a SQL query in PHP with differents variables

創建依賴於用戶在不同復選框中選擇的許多變量的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>();

我正在使用Android。 有人能幫助我嗎??

提前致謝。

問候。

您的代碼需要在WHERE之后留一個空格。 需要說

...b FROM eventosDiarios WHERE ";

而不是

....b FROM eventosDiarios WHERE";

否則您將收到格式錯誤的查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM