Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Variable sql en php

Estas en el tema de Variable sql en php en el foro de PHP en Foros del Web. Hola. Si ejecuto esto en MySQL me muestra 16 que es el resultado. Código PHP: set  @var =  6 ; set  @ var2  =  10 ; ...
  #1 (permalink)  
Antiguo 27/02/2017, 13:59
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Variable sql en php

Hola. Si ejecuto esto en MySQL me muestra 16 que es el resultado.
Código PHP:
set @var = 6;
set @var2 10;
SELECT @var3 := @var + @VAR2 AS resultado
Eso mismo quiero ejecutarlo dentro de php:
Código PHP:
$sql ="set @var = 6;
set @var2 = 10;
SELECT @var3 := @var + @VAR2 AS resultado;"
;
$sth $BD->prepare($sql);
$sth->execute(); 
Pero no muestra nada.
__________________
Todos somos iguales. NO! a la violencia de género.
  #2 (permalink)  
Antiguo 27/02/2017, 19:34
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Variable slq en php

No te muestra nada porque no le estás pidiendo a php que te lo muestre. El resultado se está quedando en memoria.
  #3 (permalink)  
Antiguo 27/02/2017, 19:59
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Variable slq en php

Cita:
Iniciado por Triby2 Ver Mensaje
No te muestra nada porque no le estás pidiendo a php que te lo muestre. El resultado se está quedando en memoria.
Gracias por responder. Y cómo hago para mostrar el resultado de ejecutar $sql ??
Código PHP:
$sql ="set @var = 6;
set @var2 = 10;
SELECT @var3 := @var + @VAR2 AS resultado;"

__________________
Todos somos iguales. NO! a la violencia de género.
  #4 (permalink)  
Antiguo 28/02/2017, 07:05
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Variable slq en php

pues tienes que utilizar "return" si ese código está dentro de una función, de lo contrario, debes de asigarselo a una variable con lo que te devuelva, después podrás usar "echo" para mostrar el resultado en pantalla.

En internet hay muchos tutoriales, quizás sería mejor buscar y hacer ejercicios y tutoriales por ahí antes de preguntar temas tan sencillos, no? No te lo tomes a mal, simplemente haz lo que hacemos la mayoría, si no podemos resolverlo, consultamos a San Google que encuentra casi todo, y si nuestro caso no aparece, entonces preguntamos por aquí para que nos arrojen un poco de luz o bien nos ayuden a resolver.

http://www.pablin.com.ar/computer/cu...osconsulta.htm

Última edición por Triby2; 28/02/2017 a las 07:14
  #5 (permalink)  
Antiguo 28/02/2017, 09:15
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Variable slq en php

Lo que te quiere decir triby es que le digas a php que te muestre los datos, algo como

Código PHP:
Ver original
  1. while($row = $sql->fetch_array(MYSQLI_ASSOC)){
  2.    $result = $row['resultado'];
  3.  
  4.    echo $result;
  5. }

Busque
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #6 (permalink)  
Antiguo 28/02/2017, 09:38
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Variable slq en php

Cita:
Iniciado por KATHYU Ver Mensaje
Lo que te quiere decir triby es que le digas a php que te muestre los datos, algo como

Código PHP:
Ver original
  1. while($row = $sql->fetch_array(MYSQLI_ASSOC)){
  2.    $result = $row['resultado'];
  3.  
  4.    echo $result;
  5. }

Busque
Entiendo, pero si ves yo no uso conexión a base de datos, solo son variables de usuario sql por eso uso @variable, y hay tres sentencias en una sola consulta php.
Y sí he buscado en san google y no encuentro nada que me ayude. Tal vez no se puede. :(
__________________
Todos somos iguales. NO! a la violencia de género.
  #7 (permalink)  
Antiguo 28/02/2017, 09:59
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Variable slq en php

Cita:
Iniciado por bandolera Ver Mensaje
Entiendo, pero si ves yo no uso conexión a base de datos, solo son variables de usuario sql por eso uso @variable, y hay tres sentencias en una sola consulta php.
Y sí he buscado en san google y no encuentro nada que me ayude. Tal vez no se puede. :(
No buscaste bien, deberías de buscar "Funciones en mysql" u otra base de datos que vayas a utilizar.

https://www.google.com.do/webhp?sour...ciones+mysql&*

Create una función en tu base de datos, una para hacer la operacion en la que le pasas por parámetro los valores a operar y que esa función te devuelva el resutaldo de la misma para mostrarlo. Haciéndolo así, te debería de funcionar, pero eso sí, antes de $BD->prepare($sql), debes usar una conexión a la base de datos para asignarsela a $BD para que después puedas llamar a prepare() y luego, con ello, a execute().

Te recomiendo que inicies un curso de php y base datos para saber como hacer eso, ya que es un tema básico lo que estás solictando.
  #8 (permalink)  
Antiguo 28/02/2017, 10:12
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Variable slq en php

Cita:
Iniciado por Triby2 Ver Mensaje
No buscaste bien, deberías de buscar "Funciones en mysql" u otra base de datos que vayas a utilizar.

https://www.google.com.do/webhp?sour...ciones+mysql&*

Create una función en tu base de datos, una para hacer la operacion en la que le pasas por parámetro los valores a operar y que esa función te devuelva el resutaldo de la misma para mostrarlo. Haciéndolo así, te debería de funcionar, pero eso sí, antes de $BD->prepare($sql), debes usar una conexión a la base de datos para asignarsela a $BD para que después puedas llamar a prepare() y luego, con ello, a execute().

Te recomiendo que inicies un curso de php y base datos para saber como hacer eso, ya que es un tema básico lo que estás solictando.
Gracias por tu recomendación. Pero debo decirte que sí sé hacer conexion con base de datos y todo eso.
Pero vuelvo a explicar. Solo quiero hacer una simple suma de dos variables pero utilizando @SET.
Nada más. No quiero nada complicado.
Olvidate de la base de datos. Si ejecutas el código dentro de las comillas en mysql te arroja el resultado. Entonces ahora yo quiero hacer lo mismo pero dentro de php.
Código PHP:
$sql ="set @var = 6;
set @var2 = 10;
SELECT @var3 := @var + @VAR2 AS resultado;"

Cómo hago para mostrar el resultado de esa simple suma?
__________________
Todos somos iguales. NO! a la violencia de género.
  #9 (permalink)  
Antiguo 28/02/2017, 10:42
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Variable slq en php

Vamos, en resumen:

Quieres usar código SQL en el servidor PHP (que no en la bbdd!). Respuesta corta: No se puede / no se hace así

Respuesta PHP: Debes utilizar el codigo PHP para hacer la suma
Código PHP:
$var 6;
$var2 10;
$resultado $var $var2;
echo 
$resultado
__________________
>> Eleazan's Source
>> @Eleazan
  #10 (permalink)  
Antiguo 28/02/2017, 11:45
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Variable slq en php

Hola bandolera,

Si no te he entendido mal, lo que buscas es esto:

Código PHP:
Ver original
  1. echo $sth->execute();

Espero que te sirva...
  #11 (permalink)  
Antiguo 28/02/2017, 16:01
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Variable slq en php

Cita:
Iniciado por Triby2 Ver Mensaje
No buscaste bien, deberías de buscar "Funciones en mysql" u otra base de datos que vayas a utilizar.

https://www.google.com.do/webhp?sour...ciones+mysql&*

Create una función en tu base de datos, una para hacer la operacion en la que le pasas por parámetro los valores a operar y que esa función te devuelva el resutaldo de la misma para mostrarlo. Haciéndolo así, te debería de funcionar, pero eso sí, antes de $BD->prepare($sql), debes usar una conexión a la base de datos para asignarsela a $BD para que después puedas llamar a prepare() y luego, con ello, a execute().

Te recomiendo que inicies un curso de php y base datos para saber como hacer eso, ya que es un tema básico lo que estás solictando.
Gracias por tu recomendación. Pero debo decirte que sí sé hacer conexion con base de datos y todo eso.
Pero vuelvo a explicar. Solo quiero hacer una simple suma de dos variables pero utilizando @SET.
Nada más. No quiero nada complicado.
Olvidate de la base de datos. Si ejecutas el código dentro de las comillas en mysql te arroja el resultado. Entonces ahora yo quiero hacer lo mismo pero dentro de php.
Código PHP:
$sql ="set @var = 6;
set @var2 = 10;
SELECT @var3 := @var + @VAR2 AS resultado;"

Cómo hago para mostrar el resultado de esa simple suma?

Con tu sugerencia quedaría algo así:
Código PHP:
$consulta "set @valor1 = 5;
set @valor2 = 10;
SELECT @valor3 := @valor1 + @valor2 AS total"
;
echo 
$sth->execute($consulta); 
Me aparece que $sth no está definida y Call to a member function execute() on a non-object in la línea execute.
__________________
Todos somos iguales. NO! a la violencia de género.
  #12 (permalink)  
Antiguo 28/02/2017, 16:22
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Variable slq en php

Cita:
Iniciado por bandolera Ver Mensaje
Entiendo, pero si ves yo no uso conexión a base de datos, solo son variables de usuario sql por eso uso @variable, y hay tres sentencias en una sola consulta php.
Y sí he buscado en san google y no encuentro nada que me ayude. Tal vez no se puede. :(
De verdad alguien me tiene que explicar el tema entonces, porque no entiendo como es que no usa conexión con la DB para realizar consultas u operaciones en ella

Creo que entendí mal el tema
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #13 (permalink)  
Antiguo 28/02/2017, 17:32
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Variable slq en php

bueno, como ya te han dicho por ahí, no se puede ejecutar ese tipo de query en php, y menos si no haces primero la conexión. Lo que si puedes hacer es tener esa operación en una función dentro de la base de datos y pasarle, con php, los operandos a esa función de la base de datos y con execute(), recibirás el resultado de la operación. Pero si quieres hacerlo en php, tiene que ser con código php no hay de otra.
  #14 (permalink)  
Antiguo 01/03/2017, 10:14
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Variable slq en php

Cita:
Iniciado por KATHYU Ver Mensaje
De verdad alguien me tiene que explicar el tema entonces, porque no entiendo como es que no usa conexión con la DB para realizar consultas u operaciones en ella

Creo que entendí mal el tema
Pero en la ventana de comandos de mysql sí corre las sentencias sql que puse inicialmente. Mi pregunta es simple. Y creo que la respuesta es: Lo que quiero (que es algo puntual como mostrar el resultado de la suma de variables de usuario con @. No se puede hacer.
Gracias por darte el tiempo de responder.
__________________
Todos somos iguales. NO! a la violencia de género.
  #15 (permalink)  
Antiguo 01/03/2017, 10:15
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Variable slq en php

Cita:
Iniciado por Triby2 Ver Mensaje
bueno, como ya te han dicho por ahí, no se puede ejecutar ese tipo de query en php, y menos si no haces primero la conexión. Lo que si puedes hacer es tener esa operación en una función dentro de la base de datos y pasarle, con php, los operandos a esa función de la base de datos y con execute(), recibirás el resultado de la operación. Pero si quieres hacerlo en php, tiene que ser con código php no hay de otra.
Sí, haré algo así. Gracias por darte el tiempo de responder. Hasta un nuevo post.
__________________
Todos somos iguales. NO! a la violencia de género.

Etiquetas: mysql, select, sql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:46.