簡體   English   中英

如何解決mysql_query中的PHP MYSQL ORDER BY錯誤

[英]how to solve PHP MYSQL ORDER BY error in mysql_query

我的mysql_query有一個問題,它的ORDER BY請求來自參數函數

我已經對所有參數進行了轉義並對其進行了硬編碼(而不是從用戶表單或任何形式),並且此函數用於生成HTML選擇列表

這是BD的一個例子

BD name = Year and table is :

id------fr-----en
1914 1914 1914
1915 1915 1915
...
2014 2014 2014

這很容易id = fr(對於法語)= en =(對於英語)=年

這是我的函數與參數:

function generateSelectList($bd, $table, $name, $id, $language, $orderBy, $print0, $tabindex, $class, $style, $label, $value0, $title)

所以當我使用這個功能:

<?php generateSelectList("gaiurba_GayUrban", "Year", "Year", "ID", $_SESSION['LanguageCode'], "", "true", "21", "splash_small required", "", "label_year", "", " "); ?>

在我的HTML代碼中,一切正常,選擇列表開始於1914年,$ orderBy參數為空“”

因此,我需要從2014年開始選擇列表( ORDER BY id DESC

我嘗試使用這個:

<?php generateSelectList("gaiurba_GayUrban", "Year", "Year", "ID", $_SESSION['LanguageCode'], "id DESC", "true", "21", "splash_small required", "", "label_year", "", " "); ?>

$orderBy parameter = "id DESC"並且mysql_query永遠不會執行並死掉。

這是我的函數generateSelectList的起始代碼:

    try {
    $accessDb = new Connexion($bd);
    $connexion = $accessDb->openConnexion();

    if ($orderBy != "" || $orderBy != null) {
        echo $orderBy;
        $sql = "SELECT $id, $language FROM $table ORDER BY $orderBy";
    } else {
        $sql = "SELECT $id, $language FROM $table";
    }

    echo " sql = " . $sql;

    $resultat = mysql_query($sql) or die(mysql_error());
    $nbResultat = mysql_num_rows($resultat);

    echo '<select id="' . $name . '" class="' . $class . '" tabindex="' . $tabindex . '" name="' . $name . '" style="' . $style . '" title="' . $title . '">';

    while ($row = mysql_fetch_array($resultat)) { ... }

當我使用沒有$orderBy參數的函數$orderBy一切正常,並且工作正常。 當我使用跟蹤日志( echo$orderBy = "id DESC"和我的$sql = "SELECT ID, fr FROM Year ORDER BY id DESC";

我在$resultat = mysql_query($sql) or die(mysql_error());之前添加echo 然后

在我的網站上,我看到echo $orderBy ,echo $sql echo AFTER,此后什么也沒有,如果我使用不帶$orderBy參數的generateSelectList版本,則看到echo $orderBy, echo $sql ,echo之后我的HTML選擇列表始於1914年,並且之后回聲。

當直接在phpMyAdmin執行此$sql查詢時,效果很好!

這真的很簡單,我真的不明白為什么不起作用。

您是否嘗試過在要選擇的字段上加上單引號?

暫無
暫無

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

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