Citas de anidación de PHP
-
29-09-2019 - |
Pregunta
Lo siguiente falla:
$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '$_SESSION['userID']'");
Intenté lo siguiente:
$userID = $_SESSION['userID'];
$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '$userID'");
y funciona. ¿Hay alguna manera de hacer esto sin hacer una variable separada?
¡Gracias!
Solución
O así:
$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '{$_SESSION['userID']}'");
Otros consejos
$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '".$_SESSION['userID']."'");
o
$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '{$_SESSION['userID']}'");
Vale la pena señalar que recomendaría el primero porque es más fácil leer/encontrar cuando usa un editor PHP, lo que a cambio hace que sea más fácil debugg
Tu primer ahoga la consulta, porque en realidad estás ordenando dónde userID
es '$_SESSION['
. No mencionar ese descanso que es userID']}'
será interpretado como un error de sintaxis por MySQL.
Sí, así
$result = mysql_query("SELECT * FROM Tasks WHERE UserID = '$_SESSION[userID]'");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow