php 查询结果为空

发布于 2024-11-05 18:26:53 字数 284 浏览 1 评论 0原文

我在使用 PHP 代码时遇到问题。当我执行其中包含 PHP 变量的 SQL 查询时,问题就出现了。结果没有显示任何内容,并且数据库中的字段不为空。尝试使用静态 ID(非变量),查询工作正常。

你知道我哪里做错了吗?

查询代码:

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

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);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挽袖吟 2024-11-12 18:26:53

试试这个:

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

这会给你一条错误消息。

问题是您同时使用 ` 和 ' 作为转义字符。

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

应该有效。

通常,当您回显查询时,事情会更加清晰,以便您可以看到最终结果。

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.

淑女气质 2024-11-12 18:26:53

您在查询中使用双引号,因此不需要点 . 运算符
$consultaVideoSeleccionado1 = mysql_query("从视频中选择 * WHERE idvideo = '$videoSeleccionado'", $conexion);

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);

鹊巢 2024-11-12 18:26:53

您连接的字符串错误!您正在使用 ' 单引号,但应该使用双引号/无引号。

尝试这个查询:

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)

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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文