dongren1986 2015-04-07 10:01
浏览 51

我有sql部分的困难

I posted a code below about my website. In this code i want to update rows in my database, if the user changed the name of the topic on the website's form. Everything is working except the sql part. I mean the part where:"LIMIT 1 OFFSET '$x'" this part of the sql code is not good for some reason, but i don't know why. I tested it in xampp phpmyadmin and it works but here something just wrong.

<?php
$sql = "SELECT topicname, username, created, COUNT(commentid)
FROM user, topic, comment
WHERE topic.topicid = comment.whichtopic
AND user.userid = topic.owner
AND user.username = '" . $_SESSION['user_name '] . "'
GROUP BY topicname ";
$lekerdezes = mysql_query($sql);
$num_rows = mysql_num_rows($lekerdezes); ?>
<?php
if (isset($_POST['delete']))
{
    if (!empty($_POST['forumnev']))
    {
        for ($x = 0; $x < $num_rows; $x++)
        {
            foreach ($_POST['forumnev'] as $selected)
            {
                $seged = mysql_query("SELECT created FROM topic WHERE 
                                        created IN (SELECT created FROM user, topic, comment WHERE topic.topicid = comment.whichtopic 
                                        AND user.userid = topic.owner AND user.username = '" . $_SESSION['user_name '] . "'
                                        GROUP BY topicname ORDER BY created)
                                        LIMIT 1 OFFSET '$x'");
                if (!$seged)
                {
                    echo mysql_error();
                }
                $seged2 = mysql_fetch_array($seged);
                $seged2 = $seged2[0];
                if (!$seged2)
                {
                    echo mysql_error();
                }
                $sql = mysql_query("UPDATE topic SET topicname = '$selected' WHERE created = '$seged2'");

            }
        }
        header("Location: topicedit.php");
    }
}
?>
  • 写回答

1条回答 默认 最新

  • dongwei7048 2015-04-07 10:03
    关注

    Try updating as follows:(Hope your limit: 1 and offset: $x)

    $seged = mysql_query("SELECT created FROM topic WHERE created IN (SELECT created  
                                    FROM user,topic,comment
                                    WHERE topic.topicid = comment.whichtopic
                                    AND user.userid = topic.owner
                                    AND user.username = '". $_SESSION['user_name'] ."'
                                    GROUP BY topicname
                                    ORDER BY created) 
                                    LIMIT $x, 1");
    
    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)