¿Cómo puedo seleccionar correctamente y luego insertar el resultado en $ result?

$result = mysql_query("SELECT AVG(answervalue) 
                        FROM `tblanswer` 
                        WHERE questiontype = 'Methods' 
                         AND studentid = '$username' 
                         AND subjectname = '$server_subject' 
                         AND professorname = '$server_name', $connect);

$Query = "INSERT INTO tblevaluationgrade (result) VALUES ('$result')";
0
Christian Quirante 29 ene. 2016 a las 15:37

2 respuestas

La mejor respuesta

Su consulta debería ser como:

INSERT INTO tblevaluationgrade(result_column) 
   (SELECT AVG(answervalue) FROM `tblanswer`   
     WHERE questiontype = 'Methods' AND studentid = '$username'   
       AND subjectname = '$server_subject' AND professorname = '$server_name')
4
Luthando Ntsekwa 29 ene. 2016 a las 12:44

Puede hacerlo en una consulta usando INSERT ... SELECT sintaxis:

INSERT INTO tblevaluationgrade (result)
    SELECT AVG(answervalue) FROM `tblanswer` ...

Y probablemente debería cambiar a PDO o mysqli y declaraciones preparadas ya que las funciones mysql_* están obsoletas y se han eliminado de php 7 y su consulta parece vulnerable a la inyección de sql.

5
jeroen 29 ene. 2016 a las 12:49