我想从中选择数据的一组表和字段。我试过下面的代码但没有成功。任何人都可以向我解释为什么这不起作用,如果可能的话,如何让它起作用。
$fields = "table1.field1, table2.field2, table3.field3, table4.field4";
$tables = "table1, table2, table3, table4";
$table = explode(', ', $tables); //explode the tables string
$field = explode(', ', $fields); //explode the fields string
$i=1;
while ($i<=4) {
$sql = 'SELECT ' . $field[$i] . ' FROM ' . $table[$i] . ' WHERE ' . $field[$i] . ' LIKE "%' . $str . '%";';
$results = $readConn->query($sql);
$i++;
var_dump($results);
}
最佳答案
我能看到两件事:
1) 你忘记了 SELECT
关键字:
$sql = 'SELECT ' . $field[$i] . ' FROM ' ...etc...
2) 在 SQL 中,字符串应该用单引号转义,而不是双引号。结果应该类似于 LIKE '%foo%'
而不是 LIKE "%foo%"
。
关于php - PHP while 循环中的 SQL SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543073/