2009-04-03 16 views
0

この問題は「あなたはそれを修正できますか」と申し訳ありませんが、このコードは少し間違っています。SQLクエリでPHP変数変数を使用する

私は基本的に行と列の束でテーブルを作っていますが、それぞれには少し変化する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>'; 

おかげで、Stanni

答えて

5

[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

ありがとうございます。 – Ryan

4

まず、あなたが追加することはできません配列インデックス[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>'; 
関連する問題