【问题标题】:Trying to execute 2 queries at the same time : only one works尝试同时执行 2 个查询:只有一个有效
【发布时间】:2013-06-09 00:06:45
【问题描述】:

一旦用户喜欢帖子,我就会尝试执行 2 个查询。

第一个查询(工作正常):将 +1 更新到表。
第二个查询(不起作用):在新表中插入用户 ID + 帖子 ID。

见下文:

if($_POST['id'])
{
$postid=$_POST['id'];
$id = $_SESSION['id'];

$like_record=query("SELECT likeid from post_likes  WHERE postid='$postid' and       
userid='$id'");

if (!($like_record))

{
$table = query("INSERT INTO post_likes (id, postid, userid) VALUES ('','',          
'')", $postid, $id);
$table = query("UPDATE postlist SET post_likes=post_likes+1 WHERE postid='$postid'");
    }
?>

第二个查询根本没有更新:我当前的表 post_likes 是空的。 此外,没有显示错误,但是当我使用 print_r($_POST);我可以看到 post id 正确传递了。

感谢您的帮助!

【问题讨论】:

  • query() 函数定义在哪里?
  • 你要返回多少行?
  • post_likespostlist 中有哪些列?
  • 您的 query() 函数调用之间似乎也存在差异,其中第二个调用具有参数 $wishid、$id,但其他调用没有。
  • 而不是查询执行,只需回显更新查询并手动尝试,如果它有效,那么你有 PHP 的东西,如果你有错误,你会有一个好兆头:)

标签: php mysql sql database pdo


【解决方案1】:

根据这些描述,我想你的查询返回了一些对象而不是数组,所以 !($like_record) 没有命中。

请把 query() 粘贴到这里好吗?

【讨论】:

  • 感谢您的帮助。仅供参考,我删除了第二个查询中的参数(并改用了 $id 和 $postid 变量),它现在可以工作了!
猜你喜欢
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 2011-04-23
相关资源
最近更新 更多