SQL - Combinar SQL SELECT con AND y variables php

 
Vista:
Imágen de perfil de Iñaki
Val: 3
Ha aumentado su posición en 15 puestos en SQL (en relación al último mes)
Gráfica de SQL

Combinar SQL SELECT con AND y variables php

Publicado por Iñaki (2 intervenciones) el 02/08/2017 23:46:49
¿Es correcta esta select con AND y variables php?
El AND parece que no me funciona bien a pesar de que las variables tiene bien los valores ya que si hago echo antes de esta select, los valores son corréctos.

1
2
3
4
5
$sql2 = "

SELECT * FROM meGustasPost WHERE idPost = ' ".$postActual." ' AND idUsuario = ' ".$idUsuario." '

";

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Combinar SQL SELECT con AND y variables php

Publicado por xve (284 intervenciones) el 03/08/2017 08:29:15
Hola Iñaki, yo lo que haria, seria eliminar los espacios en blanco entre las comillas simples y las comillas dobles, ya que estas indicando que tiene que tener un espacio al inicio y final de las cadenas... algo así:
1
$sql2 = "SELECT * FROM meGustasPost WHERE idPost = '".$postActual."' AND idUsuario = '".$idUsuario."'";

Según entiendo, los valores que estas utilizando entiendo que son numéricos, no? si es así, no deberias de utilizar comillas para esos campos... algo así:
1
$sql2 = "SELECT * FROM meGustasPost WHERE idPost = ".$postActual." AND idUsuario = ".$idUsuario;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Iñaki
Val: 3
Ha aumentado su posición en 15 puestos en SQL (en relación al último mes)
Gráfica de SQL

Combinar SQL SELECT con AND y variables php

Publicado por Iñaki (2 intervenciones) el 03/08/2017 16:36:40
Gracias xve!
Efectivamente son numéricos.
¿No falta algo al final de la sentencia? ".$idUsuario;
Parece que no funciona la select.
El códogo completo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
session_start();
include ('conexion.php');
//Tomamos los dos valores:
$postActual = $_REQUEST['idPost'];
$idUsuario = $_SESSION['id_usuario'];
//Dos echos para ver si tienen valores correctos
echo $postActual;
echo $idUsuario;
//Comprobación si usuario ya ha dado me gusta a este post//
$sql2 = "SELECT * FROM meGustasPost WHERE idPost=.$postActual. AND idUsuario=.$idUsuario.";
 //AND idUsuario = ".$idUsuario."";
$result = $conn->query($sql2);
 
if ($result->num_rows > 0)
	{
 
	echo "Ya votó este usuario";
    // output data of each row  
	}
	else
	{
	    echo "No votó este usuario";
	    //Sumar me gustas
	    $sql=mysqli_query($conn,"UPDATE postUsuarios SET meGustasPost = meGustasPost + 1 WHERE idPost = '$postActual'");
	    //Registrar en la tabla meGustasPost el me gusta para no poder repetir la botación por el mismo usuario.
		$sql = "INSERT INTO meGustasPost (idPost,idUsuario)
		VALUES ('$postActual','$idUsuario')";
 
 
		if ($conn->query($sql) === TRUE) {
		    echo "Nuevos registro de usuario creado";
		} else {
		    echo "Error: " . $sql . "<br>" . $conn->error;
		}
	}
$conn->close();
?>

¡Un saludo y gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar