Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Ciclo e inserimenti multipli,

    Ragazzi dovrei prendere dei dati estratti da una tabella, alcuni record e inserirli in un altra, ho usato il clclo ma penso di aver fatto una gran cavolata, vi posto il codice e vi dico , l'errore, grazie sempre per le risposte in anticipo.

    codice:
            $db->Query("SELECT  affiliato.*, ordini.*, utenti.* FROM affiliato, ordini, utenti  WHERE  affiliato.idAffiliato = {$_REQUEST['idAffiliato']} AND affiliato.idAffiliato = ordini.idAffiliato ORDER BY idOrdine DESC LIMIT 1 ");
                     
    $ordine=$db->Row();
          
     $db->Query("SELECT  carrello.* , affiliato.* FROM affiliato, carrello  WHERE  affiliato.idAffiliato = {$_REQUEST['idAffiliato']} AND affiliato.idAffiliato = carrello.idAffiliato");
                     
    while($carrello=$db->Row()){
          
       echo $car['idProdotto'] = MySQL::SQLValue($carrello->idProdotto);
      echo   $car['qnt'] = MySQL::SQLValue($carrello->quantita);
       echo $car['codOrdine'] = MySQL::SQLValue($ordine->idOrdine);
        if(! $db->InsertRow("codOrdine",$car)) echo $db->Kill();
    }
    
    
          $filter['idAffiliato'] = MySQL::SQLValue($_REQUEST['idAffiliato'], MySQL::SQLVALUE_TEXT);
     
          if(! $db->DeleteRows("carrello",$filter)) echo $db->Kill();
    Faccio praticamente, : estraggo i dati da una tabella, poi da un altra però in un ciclo e poi insert (ho provato con un solo prodotto, e funziona ma da un errore, penso che la logica che ho usato sia errata, qualcuno mi può aiutare?

    codice:
    '2''1''12' Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, boolean given in /web/htdocs/www.freestyleweb.it/home/progetti/centro2/Adminware2.0/inc/mysql.class.php on line 1299
    corrispondente a questa riga ;

    codice:
    public function Row($optional_row_number = null) {		$this->ResetError();
    		if (! $this->last_result) {
    			$this->SetError("No query results exist", -1);
    			return false;
    		} elseif ($optional_row_number === null) {
    			if (($this->active_row) > $this->RowCount()) {
    				$this->SetError("Cannot read past the end of the records", -1);
    				return false;
    			} else {
    				$this->active_row++;
    			}
    		} else {
    			if ($optional_row_number >= $this->RowCount()) {
    				$this->SetError("Row number is greater than the total number of rows", -1);
    				return false;
    			} else {
    				$this->active_row = $optional_row_number;
    				$this->Seek($optional_row_number);
    			}
    		}
    		$row = mysqli_fetch_object($this->last_result);
    		if (! $row) {
    			$this->SetError();
    			return false;
    		} else {
    			return $row;
    		}
    	}
    Come posso fare? grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Non ha nulla a che vedere con il tuo problema.
    Nella query metti $_REQUEST. Controlli il valore prima di utilizzarlo ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Si inserisce i valori , tutti ma dopo averli inseriti esce poi l'errore. Forse ho capito, può essere che io ho detto che la variabile $filter sia testuale ma in realtà è int?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Volevo dire che se usi i valori di $_REQUEST senza controllarli rischi una bella SQL injection.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    vero per il resto il ciclo è corretto cosi?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.