我遇到了PHP代码问题。当我在其中执行带有PHP变量的SQL查询时会出现问题。结果未显示任何内容,并且数据库中的字段不为空。尝试使用静态id(不是变量),查询工作正常。
你知道我做错了吗?
查询代码:
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = `'.$videoSeleccionado.'`;", $conexion);
答案 0 :(得分:1)
试试这个:
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = `'.$videoSeleccionado.'`;", $conexion) or die(mysql_error());
这会给你一个错误信息。
问题是你同时使用'和'作为转义字符。
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = '$videoSeleccionado';", $conexion);
应该有用。
当您回显查询时,事情会更清晰,以便您可以看到最终结果。
答案 1 :(得分:1)
您在查询中使用双引号,因此不需要点.
运算符
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = '$videoSeleccionado'", $conexion);
答案 2 :(得分:1)
你连字符错了!您正在使用'
单引号,但您应该使用double / none。
尝试此查询:
mysql_query("SELECT * FROM `videos` WHERE `idvideo` = '$videoSeleccionado';", $conexion)
或者
mysql_query("SELECT * FROM `videos` WHERE `idvideo` = '{$videoSeleccionado}';", $conexion)
或者
$q = "SELECT * FROM `videos` WHERE `idvideo` = '%s';";
mysql_query(sprintf($q, $videoSeleccionado), $conexion)
修改强>
如果它仍然无效,则可以在查询中,尝试检查它是否正在使用mysql_error()
(1)或尝试转储查询(2)。
实施例(1):
mysql_query("SELECT * FROM `videos` WHERE `idvideo` = '".$videoSeleccionado."';", $conexion) or die(mysql_error());
实施例(2):
$ q =“SELECT * FROM videos
WHERE idvideo
='$ videoSeleccionado';”;
的var_dump($ Q);
mysql_query($ q,$ conexion)