Ciao, ho un array multidimensionale a lunghezza variabile che definisce l'indice di un libro.
E' formato da tra Array: voce, dallaPagina, allaPagina e devo iterarlo.
l'Array:
	
	
	
		
Il tutto va iterato per inserirlo in un record di database ed avevo pensato di fare una cosa del genere:
	
	
	
		
ma il sistema mi da errori: Notice: Trying to access array offset on value of type int in C:\Apache\users\marco\moduli-2\putVoci.php on line 105 dove la riga 105 nel mio listato corrisponde all'istruzione: $handle->bindValue(':v', $t['cellaVoce'][$index], PDO:
ARAM_STR); e così via per le altre due chiavi dell'array $target, ovvero le due righe seguenti del Binding sempre lo stesso errore.
Quindi infine: Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 La colonna 'voce' non puo` essere nulla in C:\Apache\users\marco\moduli-2\putVoci.php on line 108 dove la riga 108 corrisponde a $handle->execute();
Che appunto mi fa capire che non ho iterato un bel nulla.
				
			E' formato da tra Array: voce, dallaPagina, allaPagina e devo iterarlo.
l'Array:
		Codice:
	
	$target = [
  'Voce' => [
      1 => string 'Capitolo 1' (length=10)
      2 => string 'Capitolo 2' (length=10)
      3 => string 'Capitolo 3' (length=10)
  ],
  'DallaPagina' => [
      1 => string '1' (length=1)
      2 => string '99' (length=2)
      3 => string '151' (length=3)
  ],
  'AllaPagina' => [
      1 => string '98' (length=2)
      2 => string '150' (length=3)
      3 => string '160' (length=3)
   ]
]
	Il tutto va iterato per inserirlo in un record di database ed avevo pensato di fare una cosa del genere:
		PHP:
	
	            $sql = 'INSERT INTO indici ';
            $sql .= '(libro_id, voce, dalla_pagina, alla_pagina) ';
            $sql .= 'VALUES (:idI, :v, :dp, :ap); --';
            $handle = $pdo->prepare($sql);
            $index = 1;
            $idFascicolo = 3;
            try {
                //    Inserimento selettivo delle voci
                $pdo->beginTransaction();
                foreach( $target as $t ) {
                    $handle->bindValue(':idI', $idFascicolo, PDO::PARAM_INT);
                    $handle->bindValue(':v', $t['Voce'][$index], PDO::PARAM_STR);
                    $handle->bindValue(':dp', $t['DallaPagina'][$index], PDO::PARAM_STR);
                    $handle->bindValue(':ap', $t['AllaPagina'][$index], PDO::PARAM_STR);
                    $handle->execute();
                    
                    $index++;
                }
                $pdo->commit();
                unset( $pdo, $handle, $sql, $target );
            }
            catch( PDOException $err ) {
                $pdo->rollback();
                throw $err;
            }
	Quindi infine: Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 La colonna 'voce' non puo` essere nulla in C:\Apache\users\marco\moduli-2\putVoci.php on line 108 dove la riga 108 corrisponde a $handle->execute();
Che appunto mi fa capire che non ho iterato un bel nulla.