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