sql >> Databasteknik >  >> RDS >> Mysql

Hur får man SQL_CALC_FOUND_ROWS-värdet med hjälp av förberedda satser?

Jag lyckades ta reda på det, jag kommer att detaljera mitt svar nedan för alla som är intresserade av framtiden.

Originalkod

$query="select SQL_CALC_FOUND_ROWS id,title,location,salary,employer from jobs where region=38 limit 0,3";

if($stmt = $connection->prepare($query)) {
        $stmt->execute()or die($connection->error); //execute query
        $stmt->bind_result($id,$title,$location,$salary,$employer,$image);
        while($stmt->fetch()){
            $jobs[$x]['id']=$id;
            $jobs[$x]['title']=$title;
            $jobs[$x]['location']=$location;
            $jobs[$x]['salary']=$salary;
            $jobs[$x]['employer']=$employer;
            $jobs[$x]['image']=$image;
            $x++;
        }
        $stmt->close();//close statement
    }

Uppdaterad kod

$query="select SQL_CALC_FOUND_ROWS id,title,location,salary,employer from jobs where region=38 limit 0,3";

if($stmt = $connection->prepare($query)) {
        $stmt->execute()or die($connection->error); //execute query
        $stmt->bind_result($id,$title,$location,$salary,$employer,$image);
        while($stmt->fetch()){
            $jobs[$x]['id']=$id;
            $jobs[$x]['title']=$title;
            $jobs[$x]['location']=$location;
            $jobs[$x]['salary']=$salary;
            $jobs[$x]['employer']=$employer;
            $jobs[$x]['image']=$image;
            $x++;
        }
            //get total number of rows.
            $query="SELECT FOUND_ROWS()";
            $stmt = $connection->prepare($query);
            $stmt->execute();
            $stmt->bind_result($num);
            while($stmt->fetch()){
                $count=$num;
            }

        $stmt->close();//close statement
    }

Skulle förmodligen kunna göra det bättre på ett annat sätt men det verkar inte finnas några bra exempel någonstans på nätet och det här fungerar!



  1. Varför skriver PDO ut mitt lösenord när anslutningen misslyckas?

  2. För många automatiska ökningar med PÅ DUBLIKAT UPPDATERING AV KEY

  3. Är det möjligt att snabba upp en sum() i MySQL?

  4. mySQL lagrad funktion för att skapa en snigel