Jump to content

FelipeOlvr

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

0 Comum

About FelipeOlvr

  1. FelipeOlvr

    Query Multipla Dinamica

    O erro é o seguinte: Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp64\www\development\testeSecondRegister\index.php on line 115
  2. Tenho a tabela inform ( de informações ): CREATE TABLE IF NOT EXISTS `inform` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `photo_name` text COLLATE latin1_general_ci NOT NULL, `photo_content` mediumblob NOT NULL, `photo_content_type` varchar(255) COLLATE latin1_general_ci NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB AUTO_INCREMENT DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; Tenho também a tabela photos: CREATE TABLE IF NOT EXISTS `photos` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `foreign_key_inform` int(11) NOT NULL, `photo_name` text COLLATE latin1_general_ci NOT NULL, `photo_content` mediumblob NOT NULL, `photo_content_type` varchar(255) COLLATE latin1_general_ci NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; COMMIT; ( Estou apenas realizando testes ) Preciso fazer INSERT na inform e depois na photos, para isso tenho o code: <form action="?" method="POST" enctype="multipart/form-data" name="newProject"> <input type="file" name="coverPhoto" id="coverPhotos" required="required" /> <br> <br> <input type="file" name="photos[]" multiple="multiple" id="photos" /> <br> <br> <input type="submit" name="submit" value="submit" /> </form> <?php if ( isset ( $_POST['submit'] ) ) { if ( empty( $_FILES['photos']['name'] ) ) { echo '<br>' . 'CADASTRO INVALIDO !' . '<br>'; die(); } else { echo '<pre> '; print_r ( $_FILES['coverPhoto'] ); echo '</pre>'; $cover = $_FILES['coverPhoto']; $coverName = $_FILES['coverPhoto']['name']; $coverContent = file_get_contents ( $_FILES['coverPhoto']['tmp_name'] ); $coverType = $_FILES['coverPhoto']['type']; # $photos = $_FILES['photos']; foreach ($photos as $matriz) { foreach ($matriz as $interno) { if ( empty ( $interno ) ): $second = false; else: $second = true; endif; } } try { $database = new PDO("mysql:host=localhost;dbname=tests", "root", "admin"); $insertCover = "INSERT INTO inform VALUES (default, ?, ?, ?);"; $prepareCover = $database->prepare( $insertCover ); $prepareCover->bindParam(1, $coverName ); $prepareCover->bindParam(2, $coverContent ); $prepareCover->bindParam(3, $coverType ); if ( $prepareCover->execute() ): echo '<br>' . 'INFORMAÇÕES INSERIDAS !' . '<br>'; $last = $database->lastInsertId(); # echo $last; if ( $second ): $numberPhotos = count ( $_FILES['photos']['name'] ); $insertPhotos = 'INSERT INTO photos VALUES '; $photosValues = "(default, null, :photoName, :photoContent, :photoType),"; for ($v = 0; $v < $numberPhotos; $v++) { $replace = str_replace( array('default', 'null',':photoName', ':photoContent', ':photoType'), array('default', $last, ":photoName$v", ":photoContent$v", ":photoType$v"), $photosValues ); $insertPhotos .= $replace; } $insertPhotos = rtrim( $insertPhotos, ","); # echo '<br>' . $insertPhotos . '<br>'; $sth = $database->prepare( $insertPhotos ); for ($p = 0; $p < $numberPhotos; $p++) { // echo "\$sth->bindValue(\":photoName$param\", "; echo pathinfo ( $photos['name'][$param], PATHINFO_FILENAME) . ')<br>'; // # echo "$sth->bindValue(":photoContent$param", file_get_contents( $photos['tmp_name'][$param]));"; // echo "<br>\$sth->bindValue(\":PhotoType$param\", "; echo $photos['type'][$param] . ')<br>'; $sth->bindValue(':photoName' . $p, pathinfo ( $photos['name'][$p], PATHINFO_FILENAME ) ); $sth->bindValue(':photoContent' . $p, file_get_contents ( $photos['tmp_name'][$p] ) ); $sth->bindValue(':PhotoType' . $p, $photos['type'][$p]); } if ( $sth->execute() ): echo '<br>' . 'PROJETO CADASTRADO COM MAIS DE UMA FOTO !' . '<br>'; else: echo '<br>' . 'PROJETO COM MAIS DE UMA FOTO, PORÉM NÃO CADASTRADO !' . '<br>'; endif; else: echo '<br>' . 'PROJETO CADASTRADO COM UMA FOTO APENAS !' . '<br>'; endif; else: echo '<br>' . 'INFORMAÇÕES NÃO INSERIDAS !' . '<br>'; endif; } catch (Exception $e ) { echo $e->getMessage(); } } } Minha dúvida é pq do erro, na verdade não consigo identifica-lo. Alguém pode me ajudar a executar o código ? Mt Obg !
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.