我敢肯定有一个愚蠢的简单解决方案,但是不幸的是我的google-fu太弱了,找不到它。
我有许多不同的表用于大小调整,所有表都遵循相同的命名约定,即size_001,size_002等。在循环中,我需要获取与已找到的结果匹配的大小条目。
不幸的是,没有完全唯一的标识符,因为它们在每个表中都重复(用于调整大小的罗马数字)。但是它们在每个个人表中都是唯一的。因此,到目前为止,我尝试过的操作看起来像这样:
SELECT * FROM CONCAT('size_00', '.$sizeTableID[$j].') WHERE sizeName LIKE '$sizeNames[$j]'"
其中$ sizeTableId是1到9之间的数字,而sizeName是字符串,例如II或VI,或者偶尔(因为没有一致性)是2等。
我还在CONCAT中尝试了“ $ var”,并且根本不使用CONCAT。真的,我只需要一种方法来连接database.size_00和一个整数变量。
答案 0 :(得分:0)
PHP在这里有点古怪.....
尝试一下(当变量来自数组/对象时,用{}括起来)
$sql = "SELECT * FROM CONCAT('size_00', '{$sizeTableID[$j]}') WHERE sizeName LIKE '{$sizeNames[$j]}'";
答案 1 :(得分:0)
如果我理解正确,这实际上很简单:
$tablename = 'size00'.$sizeTableID[$j];
$sql = "SELECT * FROM $tablename WHERE sizeName LIKE '{$sizeNames[$j]}'";
我认为可以解决问题。