我遇到了PHP代码的麻烦。当我用一个PHP变量执行SQL查询时,问题就出现了。结果不显示任何内容,并且数据库中的字段不为空。试图用一个静态ID(不是变量)和查询工作正常。在php中为空的查询结果
你知道我在哪里做错了吗?
查询代码:
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = `'.$videoSeleccionado.'`;", $conexion);
我遇到了PHP代码的麻烦。当我用一个PHP变量执行SQL查询时,问题就出现了。结果不显示任何内容,并且数据库中的字段不为空。试图用一个静态ID(不是变量)和查询工作正常。在php中为空的查询结果
你知道我在哪里做错了吗?
查询代码:
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = `'.$videoSeleccionado.'`;", $conexion);
试试这个:
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = `'.$videoSeleccionado.'`;", $conexion) or die(mysql_error());
这会给你一个错误消息。
问题是你同时使用'和'作为转义字符。
$consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = '$videoSeleccionado';", $conexion);
应该工作。
当您回应查询时,通常事情会更加清晰,以便您可以看到最终结果。
你在你的查询中使用双引号,所以没有必要点.
操作 $consultaVideoSeleccionado1 = mysql_query("SELECT * FROM videos WHERE idvideo = '$videoSeleccionado'", $conexion);
您正在连接串错了!您正在使用'
单引号,但您应该使用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)
你使用反引号(')为什么?如果您的$ videoSeleccionado值是一个字符串,请使用单引号,而不是反引号! – 2011-05-08 15:16:04
学习处理由MySQL返回的错误,以便您可以看到为什么它们在您的查询不起作用时抱怨您的查询。学习如何处理MySQL错误现在将有助于为您节省大量时间。 – 2011-05-08 15:18:49
反引号是因为我用de phpmyadmin试过并生成了em。 – JMasia 2011-05-08 15:33:15