William Bruno 1501 Denunciar post Postado Junho 16, 2010 Olá, amiguinhos. É o seguinte: Meu script tem duas querys, uma INSERT e uma SELECT. Alguém pode me ajudar a transformar essas duas em uma só UHAUHAAHUHAHAU? Faz dois dias que tô quebrando a cabeça com isso :D desculpa a pergunta mas pra quê? ? veja http://www.php.net/mysql_query mysql_query(), simplesmente não suporta múltiplas queries !! ou seja, ou você muda de lib, ou você nunca vai conseguir executar um insert e um select, com um mesmo único mysql_query() :lol: http://www.php.net/manual/en/mysqli.multi-query.php Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 Olá, William. Já até desisti de fazer dessa forma. Agora tô tentando isso: http://forum.imasters.com.br/index.php?/topic/398847-transformar-duas-querys-em-uma/page__view__findpost__p__1560215 Leia desse post para baixo :) Abs. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 16, 2010 tá... pensa o seguinte.. vai trabalhar com SESSION ? então precisa de um session_start() !! <? include"config.php"; $query = "INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '$filename', '', 'Yes', '', '$_SESSION[Username]', '$_SESSION[$Email_Address]')"; mysql_query($query) or die (mysql_error());troca por: <?php ini_set('display_errors', true); error_reporting(E_ALL); session_start(); include 'config.php'; $filename = $_FILES['Filedata']['name']; $query = "INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '{$filename}', '', 'Yes', '', '{$_SESSION['Username']}', '{$_SESSION['Email_Address']}')"; echo $query,'<br />'; mysql_query($query) or die (mysql_error());poste oque aparecer do echo que eu fiz. http://forum.imasters.com.br/index.php?/topic/375800-orientacoes-para-uma-boa-participacao/ Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 Notice: A session had already been started - ignoring session_start() in /home/theimage/public_html/config.php on line 36 Notice: Undefined index: Filedata in /home/theimage/public_html/upload.php on line 9 INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '', '', 'Yes', '', 'williancima', 'contato@linkaki.net') Notice: Undefined variable: file in /home/theimage/public_html/upload.php on line 17 Notice: Undefined variable: file in /home/theimage/public_html/upload.php on line 18 Aconteceu a mesma coisa de antes. O caminho da imagem salva, o usuário e email, não... Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 16, 2010 okay... execute assim: <?php ini_set('display_errors', true); error_reporting(E_ALL); include 'config.php'; var_dump( $_FILES );//poste oque aparecer $filename = $_FILES['Filedata']['name']; $query = "INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '{$filename}', '', 'Yes', '', '{$_SESSION['Username']}', '{$_SESSION['Email_Address']}')"; echo $query,'<br />'; mysql_query($query) or die (mysql_error()); $path = $_FILES['Filedata']['tmp_name']; $new_path = 'images_files/'.$_FILES['Filedata']['name']; echo move_uploaded_file( $path, $new_path ); e confira de novo lá no banco, pois a string SQL está correta:INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '', '', 'Yes', '', 'williancima', 'contato@linkaki.net')o problema está é no envio do arquivo. e veja que se você vai usar o plugin para envio multiplo: <a href="javascript:uploader.startUpload();">Iniciar Upload</a>o $_FILES não faz sentido... e nunca vai chegar para você.. Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 array(0) { } Notice: Undefined index: Filedata in /home/theimage/public_html/upload.php on line 10 Notice: Undefined index: $Email_Address in /home/theimage/public_html/upload.php on line 12 INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '', '', 'Yes', '', 'williancima', '') Notice: Undefined index: Filedata in /home/theimage/public_html/upload.php on line 16 Notice: Undefined index: Filedata in /home/theimage/public_html/upload.php on line 17 A mesma coisa.. só gravou a imagem Veja o script do upload: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Upload múltiplo</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> <script type="text/javascript" src="../../js/multiUpload.js"></script> <script type="text/javascript"> var uploader = new multiUpload('uploader', 'uploader_files', { swf: '../../swf/multiUpload.swf', script: 'upload.php', expressInstall: '../../swf/expressInstall.swf', multi: true }); </script> <style type="text/css"> @import '../../css/style.css'; @import "../../css/multiUpload.css"; </style> </head> <body> <h1>Upload múltiplo</h1> <br /> <div id="uploader"></div> <div id="uploader_files"></div> <br style="clear:both" /> <a href="javascript:uploader.startUpload();">Iniciar Upload</a> | <a href="javascript:uploader.clearUploadQueue();">Limpar fila de Upload</a> <br /><br /> </body> </html> Acho que tem alguma coisa à ser feita aí... Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Junho 16, 2010 Você tá utilizando com $ dentro do SESSION. Retira ele: {$_SESSION['Email_Address']} Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 Você tá utilizando com $ dentro do SESSION. Retira ele: {$_SESSION['Email_Address']} Sim, já tinha tirado. Não consegui ainda :( Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Junho 16, 2010 É como eu disse cara, essas variáveis de sessão não estão armazenando os dados nelas, por isso elas estão indo nulas. Não tem lógica além dessa de conseguir gravar os dados da imagem e não gravar o usuário e email na mesma query. Você iniciou a sessão antes de executar a query que está puxandos os dados da SESSION? Mostra o seu código ATUAL, depois de todas as dicas que a gente já te deu aqui. Você deve estar errando em alguma besteira aí e não tá percebendo. Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 Taí o script: <?php ini_set('display_errors', true); error_reporting(E_ALL); include 'config.php'; var_dump( $_FILES ); $filename = $_FILES['Filedata']['name']; $query = "INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '{$filename}', '', 'Yes', '', '{$_SESSION['Username']}', '{$_SESSION['Email_Address']}')"; echo $query,'<br />'; mysql_query($query) or die (mysql_error()); $path = $_FILES['Filedata']['tmp_name']; $new_path = 'images_files/'.$_FILES['Filedata']['name']; echo move_uploaded_file( $path, $new_path ); ?> Aparentemente está normal. Abs. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Junho 16, 2010 Já tentou dar um INSERT direto pelo PHPMyAdmin para simular e ver se ta cadastrando corretamente sem dar erro? Outra coisa, onde está iniciando a sessão nesta página? Ta faltando o session_start(); para você poder pegar os valores do usuário e email, por isso estão em branco. Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 Já tentou dar um INSERT direto pelo PHPMyAdmin para simular e ver se ta cadastrando corretamente sem dar erro? Outra coisa, onde está iniciando a sessão nesta página? Ta faltando o session_start(); para você poder pegar os valores do usuário e email, por isso estão em branco. Já tem um session_start(); na página de login. Quanto a outra pergunta, não sei dar INSERT direto (nunca tentei). Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Junho 16, 2010 Se você vai utilizar SESSION na página, você tem que dar o session_start(); sempre. Esta não é a página de login (creio eu), então você deve dar o start de qualquer forma para que ele possa pegar os dados do $_SESSION[]; Dê o start aí e tente. Caso exiba algum erro, por favor mostrar. E tbm mostra como ficou seu código com o session_start(); (lembre-se que ele deve estar logo abaixo do <?php na primeira linha dos códigos de todas as páginas que forem utilizar qualquer coisa da sessão. Quanto a dar um INSERT direto que eu falei, é você ir no PHPMyAdmin e acessar o banco que você está trabalhando, e depois ir na opção SQL e escrever o seu INSERT lá para testar se tá tudo ok mesmo em relação ao banco. Mas creio que o problema seja com o session_start() mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 Bom, o script ficou assim: <?php session_start(); ini_set('display_errors', true); error_reporting(E_ALL); include 'config.php'; var_dump( $_FILES ); $filename = $_FILES['Filedata']['name']; $query = "INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '{$filename}', '', 'Yes', '', '{$_SESSION['Username']}', '{$_SESSION['Email_Address']}')"; echo $query,'<br />'; mysql_query($query) or die (mysql_error()); $path = $_FILES['Filedata']['tmp_name']; $new_path = 'images_files/'.$_FILES['Filedata']['name']; echo move_uploaded_file( $path, $new_path ); ?> Quando eu acesso esse script (upload.php) sem fazer o upload, o usuário e o email salvam normalmente. O problema não é no DB. Tudo normal: Notice: A session had already been started - ignoring session_start() in /home/theimage/public_html/config.php on line 36 array(0) { } Notice: Undefined index: Filedata in /home/theimage/public_html/upload.php on line 10 INSERT INTO images (ImageID, Cid, Sid, Title, Image, Viewed, Published, TimeStamp, Username, Email_Address) VALUES ('', '', '', '', '', '', 'Yes', '', 'williancima', 'contato@linkaki.net') Notice: Undefined index: Filedata in /home/theimage/public_html/upload.php on line 16 Notice: Undefined index: Filedata in /home/theimage/public_html/upload.php on line 17 Compartilhar este post Link para o post Compartilhar em outros sites
Diego Macêdo 6 Denunciar post Postado Junho 16, 2010 Certo, agora parece estar mais correto. O problema era que o seu session_start() estava começando quando dava o include no arquivo "config.php", que já não era na primeira linha. Agora você testou enviando o arquivo? Pois os erros agora são somente informando que não tem arquivo enviado, e realmente ele não vai salvar nada já que nada foi passado, né? :) Tente fazer funcionar normalmente, fazendo o devido upload do arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
Will Up 0 Denunciar post Postado Junho 16, 2010 Certo, agora parece estar mais correto. O problema era que o seu session_start() estava começando quando dava o include no arquivo "config.php", que já não era na primeira linha. Agora você testou enviando o arquivo? Pois os erros agora são somente informando que não tem arquivo enviado, e realmente ele não vai salvar nada já que nada foi passado, né? :) Tente fazer funcionar normalmente, fazendo o devido upload do arquivo. Sim, já tentei. Só grava a imagem :( Compartilhar este post Link para o post Compartilhar em outros sites