我有以下查询,我正在尝试制作,但我不能让它工作,任何建议?
function getPrelaciones($carnet){
$result = ("SELECT mhm.Materia_codigo1 FROM Materia_has_Materia mhm, Materia m, (SELECT mha.Materia_codigo as materianovista FROM Materia_has_Alumno mha WHERE mha.Alumno_carnet = '%s')as n WHERE n.materianovista = mhm.Materia_codigo AND mhm.Materia_codigo1 != ' ' AND n.materianovista = m.codigo", $carnet);
print json_encode($result);
}
答案 0 :(得分:1)
您尚未执行查询。将此更改为,
$result = mysql_query("SELECT mhm.Materia_codigo1 FROM Materia_has_Materia mhm, Materia m, (SELECT mha.Materia_codigo as materianovista FROM Materia_has_Alumno mha WHERE mha.Alumno_carnet = '%s')as n WHERE n.materianovista = mhm.Materia_codigo AND mhm.Materia_codigo1 != ' ' AND n.materianovista = m.codigo", $carnet);
这只在您使用mysql时才有用。如果不是,则必须根据驱动程序执行查询。
注意:如果您现在使用,我建议不要使用mysql函数。转到 mysqli 或 PDO 。
答案 1 :(得分:0)
你错误地调用了查询。
php需要知道查询的位置。
示例:
$result = mysql_query("SELECT * FROM Persons");
在这里阅读有关mysql查询的更多信息: http://php.net/manual/en/function.mysql-query.php
答案 2 :(得分:0)
试试这个并且是$ carnet连接字符串变量?
function getPrelaciones($carnet){
$result = mysql_query("SELECT mhm.Materia_codigo1 FROM Materia_has_Materia mhm, Materia m, (SELECT mha.Materia_codigo as materianovista FROM Materia_has_Alumno mha WHERE mha.Alumno_carnet = '%s')as n WHERE n.materianovista = mhm.Materia_codigo AND mhm.Materia_codigo1 != ' ' AND n.materianovista = m.codigo", $carnet);
$rows = mysql_fetch_assoc($result);
print json_encode($rows);
}