Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal, estou ajustando um sistema de backup, e estou com problemas na extração dos dados, eles estão saindo assim:
INSERT INTO `nivel`( `idNivel` ) VALUES ( 1 )
INSERT INTO `nivel`( `idNivel`,`nivel` ) VALUES ( 1,'administrador' )
INSERT INTO `nivel`( `idNivel`,`nivel`,`idNivel` ) VALUES ( 1,'administrador',2 )
INSERT INTO `nivel`( `idNivel`,`nivel`,`idNivel`,`nivel` ) VALUES ( 1,'administrador',2,'editor' )
INSERT INTO `nivel`( `idNivel`,`nivel`,`idNivel`,`nivel`,`idNivel` ) VALUES ( 1,'administrador',2,'editor',3 )
INSERT INTO `nivel`( `idNivel`,`nivel`,`idNivel`,`nivel`,`idNivel`,`nivel` ) VALUES ( 1,'administrador',2,'editor',3,'membro' )
quando o correto seria exibir assim, ou algo parecido:
INSERT INTO nivel (idNivel, nivel) VALUES
(1, 'administrador'),
(2, 'editor'),
(3, 'membro');
a parte do script que é responsável por esta parte do código é este:
if( isset( $_POST['backup'] ) ){
$PDO->query( 'USE `'.$_GET['database'].'`' );
echo '<textarea cols="150" rows="60">';
foreach( $_POST['table'] as $index => $data ){
$create = $PDO->query( 'SHOW CREATE TABLE `'.$data.'`' )->fetchAll();
foreach( $create as $createTable){
echo $createTable[ 'Create Table' ], "\n\n";
}
$select = $PDO->query( 'SELECT * FROM `'.$data.'`' )->fetchAll();
for( $i = 0; $i < sizeOf( $select ); ++$i ){
foreach( $select[ $i ] as $field => $value ){
$fields[] = '`'.$field.'`';
if( !is_numeric( $value ) ){
$values[] = sprintf( "'%s'", $value );
}else{
$values[] = intval( $value );
}
printf( 'INSERT INTO `%s`( %s ) VALUES ( %s )', $data, implode( ',', $fields ), implode( ',', $values ) );
echo "\n";
}
}
}
echo '</textarea>';
}Carregando comentários...