sql >> Databáze >  >> RDS >> Mysql

Jak získat hodnotu SQL_CALC_FOUND_ROWS pomocí připravených příkazů?

Podařilo se mi na to přijít, níže uvedu podrobnou odpověď pro každého, koho zajímá budoucnost.

Původní kód

$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
    }

Aktualizovaný kód

$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
    }

Pravděpodobně by to šlo udělat lépe jiným způsobem, ale zdá se, že nikde online jsem nenašel žádné dobré příklady a funguje to!



  1. Jak načíst více řádků z uložené procedury v MySQL?

  2. Jak najít všechna porušení omezení v databázi SQL Server

  3. spring jpa application.properties useSSL

  4. Hromadné vložky Salesforce z aplikace Microsoft Access