簡體   English   中英

在SQL查詢中使用PHP變量變量

[英]Using PHP variable variables in SQL query

抱歉,這個問題是“您可以解決”這個問題,但是這段代碼使我感到困惑了一段時間。

我基本上是在創建一個包含一排行和一列的表,並且在每個表中我都有一個稍有變化的SQL查詢。 為了使它更容易而不是全部輸入,我編寫了這段腳本,但是它開始變得有點復雜,所以你們中的任何一個都可以設法使其正確嗎?

echo '<td background="images/map/';
$tile = mysql_fetch_array(mysql_query("SELECT image FROM map WHERE horizontal = ${'mapPiece' . $mapPieceCount . [0]} AND verticle = ${'mapPiece' . $mapPieceCount . [0]}"));
echo $tile[0];
echo '.png"></td>';

謝謝,斯坦尼

假設我解釋了這種權利,則[0]需要放在花括號之外:

echo '<td background="images/map/';
$tile = mysql_fetch_array(
          mysql_query(
            "SELECT image FROM map WHERE horizontal = ".
            ${'mapPiece' . $mapPieceCount}[0].
            " AND verticle = ".
            ${'mapPiece' . $mapPieceCount}[0]
          )
        );
echo $tile[0]; 
echo '.png"></td>';

首先,不能像在字符串上串聯那樣附加數組索引[0] 總體而言,如果只添加一些額外的行來使事情變得更整潔,那就容易得多:

$currentPiece = 'mapPiece' . $mapPieceCount;
echo '<td background="images/map/';

$query = 'SELECT image '.
            'FROM map '.
            'WHERE horizontal = '.${$currentPiece}[0].' '.
                'AND verticle = '.${$currentPiece}[0];
$result = mysql_query($query);
$tile = mysql_fetch_array($result);

echo $tile[0];
echo '.png"></td>';

暫無
暫無

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

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