通过mysql_query执行mysql语句

时间:2016-07-20 07:36:31

标签: php mysql mysqli

请帮帮我。

我有mysql查询:

SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(IF(mulai = ''',mulai,''', talenta, NULL)) AS ', QUOTE(mulai)) ORDER BY MULAI ASC ) INTO @sql FROM history_talenta; 
SET @sql = CONCAT('SELECT nip, nama, DATE_FORMAT(tgl_grade_terakhir,''%d-%m-%Y'') as tgl_grade_terakhir, ', @sql, ' FROM history_talenta GROUP BY nip'); 
PREPARE stmt FROM @sql; 
EXECUTE stmt;

我想从PHP mysql_query()运行它,但没有出现但是当我通过phpmyadmin尝试它时它工作并返回值。

谢谢

1 个答案:

答案 0 :(得分:0)

分为2个查询:

首先查询:

SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(IF(mulai = ''',mulai,''', talenta, NULL)) AS ', QUOTE(mulai)) ORDER BY MULAI ASC ) FROM history_talenta; 

从mysql_query获取此查询的结果到$ sql1变量,然后构造另一个SQL

$sql2 = "SELECT nip, nama, DATE_FORMAT(tgl_grade_terakhir,'%d-%m-%Y') as tgl_grade_terakhir, " . $sql1 . ' FROM history_talenta GROUP BY nip'; 

然后运行mysql_query($ sql2)。

注意:不推荐使用mysql_query和所有mysql_ *函数,我建议使用mysqli_函数。