it-source

LIMIT는 MariaDB에서 동작하지 않는다 - 많은 시도를 했다

criticalcode 2022. 12. 9. 21:49
반응형

LIMIT는 MariaDB에서 동작하지 않는다 - 많은 시도를 했다

$dbhost = "localhost";  
$dbuser = "root";
$dbpass = "";
$dbname = "igscript";
$con = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$query = "SELECT * FROM lastsearches";
$result = mysqli_query($con, $query);

if(mysqli_connect_errno()) {
    die("DB Error: " . mysqli_connect_error() . " ( " .mysqli_connect_errno() . ")");
}   
while($row = mysqli_fetch_assoc($result)) {
    $query = "SELECT * FROM lastsearches Order By data DESC LIMIT 1;";
    echo '<center><p>'.$row["name"].'</p> </center><hr>';
    if(!mysqli_query($con, $query)) {
        die('Error : '.mysqli_error($con));
    }
}
$result = mysqli_query($con, $query);

LIMIT 1 또는 LIMIT 10 중 하나를 사용해도 $query에서는 전혀 효과가 없습니다.같은 수의 행을 표시합니다.인터넷에서 본 TOP 10이나 TOP (10)도 시도해 봤더니 점점 더 좋아지고 있어요.

오류: SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서에서 "10 name FROM lastsearches data DESC LIMIT 1" 근처에서 사용할 올바른 구문을 확인하십시오.

$query = "SELECT TOP 10 name FROM lastsearches Order By data DESC";

-> 이것이 쿼리입니다.또한 첫 번째 쿼리는 phpmyadmin 섹션 SQL에서 정상적으로 동작했습니다.

실제로 결과를 표시하는 쿼리는 다음과 같습니다.

$query = "SELECT * FROM lastsearches";
$result = mysqli_query($con, $query);

결과를 제한하려면 대신 해당 쿼리를 편집해야 합니다.

$query = "SELECT * FROM lastsearches Order By data DESC LIMIT 1";
$result = mysqli_query($con, $query);

while loop의 쿼리로 무엇을 달성하려고 하는지 잘 모르겠습니다만, 이 루프 내부에서는 아무것도 하지 않기 때문에 삭제할 수 있습니다.

TOP 10는 MySQL이 아닌 SQL Server 구문입니다.MySQL은LIMIT 10비슷한 효과를 내죠.

안 보이니까TOP 10당신의 코드로 SQL Server에 연결된 인터페이스 패키지일 수 있습니까?

언급URL : https://stackoverflow.com/questions/54774887/limit-doesnt-work-in-mariadb-tried-a-lot-of-things

반응형