【问题标题】:SQL update on current SELECT当前 SELECT 的 SQL 更新
【发布时间】:2015-05-24 11:08:21
【问题描述】:

我是 SQL 新手。我一直在寻找以了解为什么这不起作用,但我找不到解决方案。

想法:我想选择具有'seen = 0' 的随机行, 显示它并将其更新为'seen = 1',使其不再显示。

代码如下:

$query = 'SELECT * FROM website WHERE seen in (0) ORDER BY RAND() LIMIT 1';
$result = mysql_query($query);
while ($plop = mysql_fetch_array($result)) 
 {
   $website_url = $plop['url'];
  };
 mysql_query('UPDATE website SET seen = 1 WHERE url = $website_url');

SELECT 显示正确,但 seen 停留在 0

感谢您的帮助!

编辑:将引号从单引号更改为双引号...谢谢!

mysql_query("UPDATE website SET seen = 1 WHERE url = '$website_url'");

【问题讨论】:

  • 可能需要在 $website_url 周围加上引号。无论哪种方式,打印/回显更新查询并调试..

标签: php mysql sql select


【解决方案1】:

在 PHP 中,single quotes 表示没有插值。您应该使用双引号,以便$website_url 在第二个查询中被其值替换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    相关资源
    最近更新 更多