JMasia
JMasia

Reputation: 103

Empty query result in php

I'm having troubles with a PHP code. The problems come when I execute a SQL query with a PHP variable inside it. The result doesn't shows anything, and the field in the database is not empty. Tried out with a static id (not variable) and the query works fine.

Do you know where I'm doing it wrong?

The query code:

$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM  videos WHERE  idvideo = `'.$videoSeleccionado.'`;", $conexion);

Upvotes: 1

Views: 812

Answers (3)

Robik
Robik

Reputation: 6127

You are connecting string wrong! You are using ' single quote, but you should use double/none.

Try this query:

mysql_query("SELECT * FROM  `videos` WHERE  `idvideo` = '$videoSeleccionado';", $conexion)

Or

mysql_query("SELECT * FROM  `videos` WHERE  `idvideo` = '{$videoSeleccionado}';", $conexion)

Or

$q = "SELECT * FROM  `videos` WHERE  `idvideo` = '%s';";
mysql_query(sprintf($q, $videoSeleccionado), $conexion)

Edit:

If it's still not working problem can be in query, try checking if it is using mysql_error()(1) or try dumping query(2).

Example(1):

mysql_query("SELECT * FROM  `videos` WHERE  `idvideo` = '".$videoSeleccionado."';", $conexion) or die(mysql_error());

Example(2):

$q = "SELECT * FROM videos WHERE idvideo = '$videoSeleccionado';"; var_dump($q); mysql_query($q, $conexion)

Upvotes: 1

afarazit
afarazit

Reputation: 4984

you are using double quotes on your query so there is no need for the dot . operator $consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = '$videoSeleccionado'", $conexion);

Upvotes: 1

Ikke
Ikke

Reputation: 101231

Try this:

$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM  videos WHERE  idvideo = `'.$videoSeleccionado.'`;", $conexion) or die(mysql_error());

That will give you an error message.

The problem is that you use both ` and ' as escape characters as the same time.

$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM  videos WHERE  idvideo = '$videoSeleccionado';", $conexion);

should work.

Often things will be more clear when you echo the query so you can see the final result.

Upvotes: 1

Related Questions