[英]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.