简体   繁体   English

我在sql部分遇到困难

[英]i have difficulties with the sql part

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. 除了sql部分,其他所有东西都在工作。 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. 我指的是其中的部分:“ LIMIT 1 OFFSET'$ x'”由于某些原因,sql代码的这一部分不好,但是我不知道为什么。 I tested it in xampp phpmyadmin and it works but here something just wrong. 我在xampp phpmyadmin中对其进行了测试,并且可以正常工作,但是这里有些错误。

<?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");
    }
}
?>

Try updating as follows:(Hope your limit: 1 and offset: $x) 尝试如下更新:(希望您的限制:1,偏移量:$ 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");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM