簡體   English   中英

php變量作為mysql列名

[英]php variable as a mysql column name

我試圖在任何地方找到解決方案,但Google給出的任何內容似乎都不適用於我的具體案例。

我的表有4列我想要更新,我已經命名為0,1,2,3,方便,因為我必須循環它來更新。 這是列結構的一個實例:

 column name 0 ENUM('Y','N') null=no default='N'

現在我想使用這個循環將值設置為'Y',但它不會接受我在查詢中引用$ i變量的方式。

請參閱下面的最后一次嘗試 我也嘗試將$ i轉換為int,但這也不起作用。

感謝您對此的指導。

                     /* update versions columns to Y where applicable */
        for ($i=0;$i <= $ctvid-1;$i++){
        $sql = mysql_query (
        "SELECT trim_id
        FROM versiontrim
        WHERE (
        version_id =$arr_vid[$i]
        )");
        $escapedi=mysql_real_escape_string($i);
        while ($row1 = mysql_fetch_assoc( $sql ))
        {
        $r=$row1['trim_id'];
        mysql_query ("UPDATE ttcomp SET '".$escapedi."' ='Y' where         trim_id=$r ");
        }
                    }

架構對象名稱中所述

不帶引號的標識符中允許的字符:

[ deletia ]

  • 標識符可以以數字開頭,但除非引用可能不僅僅由數字組成。

[ deletia ]

標識符引號字符是反引號(“ ` ”):

因此,如果您必須以這種方式命名列(並且,實際上,您應該找到其他解決方案),則需要使用反引號引用它們:

UPDATE ttcomp SET `0` = 'Y' WHERE ...

您可以使用php變量作為這樣的SQL列的名稱。

UPDATE tablename SET `".$variable."`= whatever

暫無
暫無

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

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