Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    81

    Come si usa mysqli_multi_query per recuperare record da un DB

    Ciao a tutti,
    ho un problema con questa funzione di PHP "mysqli_multi_query", di solito la usavo solo per inserire nuove righe su DB, ma mi stavo chiedendo se è possibile usarla per recuperare tanti record contemporaneamente. Ho provato a seguire uno degli esempi proposti su PHP.net, ma mi danno come risultato solo se i vari comandi SQL sono andati a buon fine. Riuscite a farmi un piccolo esempio su come recuperare i record dal DB. Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se hai letto il manuale, avrai anche letto:
    Return Values

    Returns FALSE if the first statement failed. To retrieve subsequent errors from other statements you have to call mysqli_next_result() first.
    Quindi è così che funziona, se la prima query fallisce hai FALSE come valore di ritorno.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    81
    Con la prova che ho fatto, a me escono solo dei 1;, suppongo voglia dire TRUE; pero non mi da nessuno risultato

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    81
    Codice PHP:
    <?php
    $mysqli 
    = new mysqli("localhost""root""""showcase");

    /* check connection */
    if (mysqli_connect_errno()) {
        
    printf("Connect failed: %s\n"mysqli_connect_error());
        exit();
    }

    $query  "SELECT * FROM wpterms;";
    $query .= "SELECT * FROM wpusers;";

    /* execute multi query */
    if ($mysqli->multi_query($query)) {
        do {
            
    /* store first result set */
            
    if ($result $mysqli->store_result()) {
                while (
    $row $result->fetch_row()) {
                    
    printf("%s\n"$row[0]);
                }
                
    $result->free();
            }
            
    /* print divider */
            
    if ($mysqli->more_results()) {
                
    printf("-----------------\n");
            }
        } while (
    $mysqli->next_result());
    }

    /* close connection */
    $mysqli->close();
    ?>
    per esempio provando questo


    mi da come risultato questo:

    codice HTML:
    1 ----------------- 1 
    Strict Standards:  mysqli::next_result(): There is no next result  set. Please, call mysqli_more_results()/mysqli::more_results() to check  whether to call this function/method in C:\EasyPHP\data\localweb\test.php on line 28

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.