Подтвердить что ты не робот

TOP и ORDER BY sql error

Я пытаюсь выбрать последнюю запись из таблицы в MySQL с помощью PHP. Я считаю, что у меня ошибка SQL. Вот мой код SQL:

SELECT TOP 1 id FROM `table` ORDER BY id DESC

Если это действительно и я действительно имею ошибку PHP, скажите мне.

4b9b3361

Ответ 1

у вас есть недопустимый синтаксис sql. используйте LIMIT вместо

попробуйте следующее:

SELECT id 
FROM table 
ORDER BY id DESC
LIMIT 1

предложение TOP работает на сервере MSSQL.

Ответ 2

Более простой и более общий подход к СУБД:

SELECT MAX(id) AS id
FROM table

Это только в том случае, если вы хотите только поле id, иначе, если вы попытаетесь выбрать другие столбцы, он не вернет соответствующие данные в поле id, и вам придется использовать:

SELECT id, otherfields, ..., ...
FROM table
WHERE id = (SELECT MAX(id) FROM table)

Ответ 3

Это будет работать. Чтобы найти последнюю запись, если вы не хотите использовать лимит

SELECT TOP 1 FROM Products ORDER BY id desc

Else

SELECT * FROM Products ORDER BY id DESC LIMIT 1

Ответ 4

привет там. Я создаю простое приложение для чата, используя php и ajax. Демонстрация здесь.. mksoltech.com/mkap, пожалуйста, создайте простой аккаунт, проверьте страницу входящих сообщений.

введите описание изображения здесь

введите описание изображения здесь

<?php 
session_start();
if(isset($_SESSION['SESSIONUID']) && ($_SESSION['SESSIONUNAME'])){
$USERIDX=$_SESSION['SESSIONUID'];
require "../inc_conn.php"; 




$sqli="SELECT * FROM 'sign_up' WHERE ID='$USERIDX' LIMIT 1";
    $result=mysqli_query($link,$sqli);
    if($result->num_rows >0)
    {
        while($row=mysqli_fetch_array($result))
        {
            $UDBNX=$row['USER_NAME'];
            $UDBEX=$row['USER_EMAIL'];
            $UDBIMX=$row['USER_IMG'];

        }
    }


if(isset($_GET['FRID'])){
    $USE_FRI=$_GET['FRID'];



    $sqliFI="SELECT * FROM 'sign_up' WHERE ID='$USE_FRI' LIMIT 1";
    $result=mysqli_query($link,$sqliFI);
    if($result->num_rows >0)
    {
        while($row=mysqli_fetch_array($result))
        {
            $FNAME=$row['USER_NAME'];
            $FEMAIL=$row['USER_EMAIL'];
            $FIMG=$row['USER_IMG'];
            $FSTAS=$row['USER_SATS'];
            $FLOG=$row['FRIND_LOG'];
        }
    }


    $sqliF="SELECT * FROM 'friend_list' WHERE USER_ID='$USE_FRI' LIMIT 1";
    $result=mysqli_query($link,$sqliF);
    if($result->num_rows >0)
    {
        while($row=mysqli_fetch_array($result))
        {
            $FSTS=$row['FRIND_SATS'];
            $FSTIM=$row['SET_FR_TIM'];



        }
    }



    echo '<div class="" id="user-profile-img-set" style="border: 0px;padding-left: 0px;
    padding-right: 20px;">
                <span class="online badge">
                        <span>'.$FLOG.'</span>
                </span>
                    <div class="text-center">
                        <img src="images/'.$FIMG.'" class="main-profile-img" style="height: 80px !important;
    width: 80px !important;">
                    </div>

            <div class="text-center p-0">
                <span class="main-profile-name">'.$FNAME.'</span>
                    <blockquote id="block-text" class="">
                        <span class="text-justify">'.$FSTAS.'</span>
                    </blockquote>
            </div>

            </div>

                <div class="card p-3 mt-3 full_about" id="personal-info">

                    <div>

                    </div>

        <h5 style="border-bottom: 1px solid;"><span></span>About:</h5>
                <table class="table full-personal">
                        <tr >
                            <td colspan="2" style="border-top:0px;"><span>Work at:
                            <span class="text-primary">comaj</span>
                            </span></td>
                        </tr>

                        <tr>
                            <td colspan="2" style="border-top:0px;"><span>Company:
                            <span class="text-primary">plloi</span>
                            </span></td>    
                        </tr>

                        <tr>
                            <td colspan="2" style="border-top:0px;"><span>Academic:
                            <span class="text-primary">matric</span>
                            </span></td>

                        </tr>
                        <tr>
                            <td colspan="2" style="border-top:0px;"><span>Joining:
                            <span class="text-primary">12/12/212</span>
                            </span></td>

                        </tr>

                        <tr>
                            <td class="text-center">
                            <span>
                            <b>400</b><br>
                            <b class="text-primary">Friends</b>
                            </span>
                            </td>
                            <td class="text-center">
                            <span>
                            <b>400</b><br>
                            <b class="text-primary">Following</b>
                            </span>
                            </td>

                        </tr>



                </table>
            </div>';

}   













if(isset($_GET['fr'])){
    $TO=$_GET['fr'];
    $getcon="SELECT * FROM 'con_app' WHERE USER_ID_CON='$USERIDX' AND FRIND_ID_CON='$TO'";
        $mycontcon=mysqli_query($link,$getcon);
        while($row=mysqli_fetch_array($mycontcon)){ 
                $CONT_EXT=$row['CON_DATA_INT'];
        }
    echo '<div class="main-mss-box no-bo no-rad" id="style-15">
            <div class="card p-3 no-rad no-ba" style="background-color: #b6beba;">';

        $sql="SELECT * FROM 'inbox_app' WHERE  CON='$CONT_EXT'";
    $mycont1=mysqli_query($link,$sql);
        if($mycont1 -> num_rows >0){
            while($row=mysqli_fetch_array($mycont1)){
                $UIDX=$row['USER_ID'];
                $SWIDX=$row['SET_ID'];
                $TOIDX=$row['TO_ID'];



            if($SWIDX === $USERIDX && $TOIDX ===$TO){
        echo'<div class="media mt-2">
                  <div class="media-left text-center">
                    <img src="images/'.$UDBIMX.'" class="media-object messages-profile mb-2"><br>
                    <span class="post">POSTED BY<br>
                        <span>'.$UDBNX.'</span>
                    </span>
                  </div>
                  <div class="media-body p-3">
                  <div class="card arror">
                        </div>
                        <div class="card main-messages mt-4">
                            <span class="messages">Messages</span>

                            <span class="messages-text">
                                '.$row['SET_MSG'].'
                            </span>
                            <span class="messages-time text-primary">'.$row['SET_DATE'].'</span>
                        </div>

                  </div>
            </div>';
                }

             if($SWIDX === $TO && $TOIDX ===$USERIDX){
            echo'<div class="media mt-2">
                  <div class="media-left pr-2" style="width: 80%;">
                    <div class="card arror1 bg-primary float-right">
                        </div>
                        <div class="card main-messages mt-4 bg-primary float-right">
                            <span class="messages">Messages</span>

                            <span class="messages-text text-white">
                                '.$row['SET_MSG'].'
                            </span>
                            <span class="messages-time text-light">'.$row['SET_DATE'].'</span>
                        </div>
                  </div>
                  <div class="media-body p-3 text-center">
                  <img src="images/'.$UDBIMT.'" class="media-object messages-profile mb-2"><br>
                    <span class="post">POSTED BY<br>
                        <span>'.$UDBNT.'</span>
                    </span>


                  </div>
            </div>';    


            }

                }               }



    $sql="SELECT * FROM 'inbox_app' WHERE  SET_ID ='$TO' AND TO_ID='$USERIDX';";
    $mycont1=mysqli_query($link,$sql);
        if($mycont1 -> num_rows >0){
            while($row=mysqli_fetch_array($mycont1)){


            }}


            echo'</div>
        </div>

            <div class="typ">
                <div class="media mt-2">
                  <div class="media-left text-center">
                    <img src="images/'.$UDBIMX.'" class="media-object messages-profile mb-2" style="margin-top: 26px;"><br>

                  </div>
                  <div class="media-body p-3">
                  <div class="card arror">
                        </div>
                        <div class="card main-messages mt-4">
                            <span class="messages">Messages</span>

                            <span class="messages-text" id="message2">

                            </span>

                        </div>

                  </div>
            </div>

                </div>
            <div class="card" id="input_box">

                <form class="form-inline">
                    <div class="pr-2">
                            <img src="images/'.$UDBIMX.'" class="message-img2">
                    </div>
                    <div class="form-group">
                <input type="hidden" value="'.$TO.'" id="toid">
                <textarea class="form-control" cols="57" id="text_box" rows="3" placeholder="type a message......."   onKeyUp="keytyp()"></textarea>
                    </div>
                    <button type="button" class="btn no-ba" onClick="sendmsg()">
                        <img src="icons/images.png" style="height: 30px;">
                    </button>
                </form>


            </div>';

}



}else{
    header("location:index.php?err=2");

}


?>