MySQL 多表查询命令到 PHP 数组 - 获取错误


mysql multiple tables query command to php array - getting error

下面是我的SQL查询,我能够在PhpMyAdmin中成功运行。 [ 来自多个表的数据类似于 IMDB 数据库 ]

SELECT 
`data`.`code`,
`data`.`movie`,
`movies`.`id`,
`movies`.`name`,
`data`.`person`,
`persons`.`name`,
`persons`.`code`,
`data`.`mode`,
`modes`.`name`
FROM
`data`
INNER JOIN `movies` ON (`data`.`movie` = `movies`.`id`)
INNER JOIN `persons` ON (`data`.`code` = `persons`.`code`)
INNER JOIN `modes` ON (`data`.`mode` = `modes`.`code`)
where `data`.`movie`=1

下面是 PhpMyAdmin(创建 PHP 代码按钮)从上面的命令生成的 PHP 代码,但在 PHP 页面(网页)中使用时不会获取任何结果,

$sql = "SELECT 'n"
. " `data`.`code`,'n"
. " `data`.`movie`,'n"
. " `movies`.`id`,'n"
. " `movies`.`name`,'n"
. " `data`.`person`,'n"
. " `persons`.`name`,'n"
. " `persons`.`code`,'n"
. " `data`.`mode`,'n"
. " `modes`.`name`'n"
. "FROM'n"
. " `data`'n"
. " INNER JOIN `movies` ON (`data`.`movie` = `movies`.`id`)'n"
. " INNER JOIN `persons` ON (`data`.`code` = `persons`.`code`)'n"
. " INNER JOIN `modes` ON (`data`.`mode` = `modes`.`code`)'n"
. "where `data`.`movie`=1 LIMIT 0, 30 ";

试试

$sql = "SELECT 
`data`.`code`,
`data`.`movie`,
`movies`.`id`,
`movies`.`name`,
`data`.`person`,
`persons`.`name`,
`persons`.`code`,
`data`.`mode`,
`modes`.`name`
FROM
`data`
INNER JOIN `movies` ON (`data`.`movie` = `movies`.`id`)
INNER JOIN `persons` ON (`data`.`code` = `persons`.`code`)
INNER JOIN `modes` ON (`data`.`mode` = `modes`.`code`)
where `data`.`movie`=1";  

问题中的 ' 和 . 不是必需的。