Gilly79 Posted March 14, 2011 Share Posted March 14, 2011 I havn't coded in over a year so i do appologise for the basic question I have written/borrowed some code which is attempting to perform an image upload.. I struggled with this at uni aswell!! doh! And basically it will not upload to server.. This is the code <?php $con = mysql_connect(******); if (!$con) { die('Could not connect: ' . mysql_error()); } ?> <form method="post" enctype="multipart/form-data"> <table width="350" border="0" cellpadding="1" cellspacing="1" class="box"> <tr> <td width="246"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> <input name="userfile" type="file" id="userfile"> </td> <td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td> </tr> </table> </form> <?php if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) { $fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; $fp = fopen($tmpName, 'r'); $content = fread($fp, filesize($tmpName)); $content = addslashes($content); fclose($fp); if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); } $query = "INSERT INTO upload (name, size, type, content ) ". "VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); echo "<br>File $fileName uploaded<br>"; } ?> This is the error displayed in the browser... Error, query failed And this is the mysql create table dump upload CREATE TABLE `upload` ( `id` int(11) NOT NULL auto_increment, `name` varchar(30) collate latin1_general_ci NOT NULL, `size` varchar(30) collate latin1_general_ci NOT NULL, `type` varchar(30) collate latin1_general_ci NOT NULL, `content` longblob NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ Is there anyone that can help - I have done a search but not really sure where my error is - Do I need to specify the actual image table in the Mysql conect comand?!? Online URL = http://gillystestharness.comxa.com/ Thans in advance Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/ Share on other sites More sharing options...
finestice Posted March 14, 2011 Share Posted March 14, 2011 $query = "INSERT INTO upload (name, size, type, content ) VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); echo "<br>File $fileName uploaded<br>"; try this Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1187522 Share on other sites More sharing options...
Gilly79 Posted March 14, 2011 Author Share Posted March 14, 2011 no that didn't work im afriad Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1187534 Share on other sites More sharing options...
fenway Posted March 15, 2011 Share Posted March 15, 2011 You posted your DB credentials to the world -- I'd change them, NOW. And define "didn't work". Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1187907 Share on other sites More sharing options...
Gilly79 Posted March 16, 2011 Author Share Posted March 16, 2011 I do appologise - i will change the password etc now.. thank you for this - it is only my test harness but i appreciate what you are saying and thank you I recived the same error message: Error, query failed And there is nothing in the database I have read the sticky and i sorry that my reply didn't detail this Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188012 Share on other sites More sharing options...
PFMaBiSmAd Posted March 16, 2011 Share Posted March 16, 2011 You can use mysql_error() as part of your or die() statement to get php/mysql to tell you why the query is failing. You are not selecting a database, so that would be one error. Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188015 Share on other sites More sharing options...
Gilly79 Posted March 16, 2011 Author Share Posted March 16, 2011 Hello Do I need to set anything at the php side?!? And Mysql privlidges blocking this??!? Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188016 Share on other sites More sharing options...
Gilly79 Posted March 16, 2011 Author Share Posted March 16, 2011 Ahhh do i have to select the database before i insert into?!? Appologies I know this is going to be a very stupid question for the experts.. Is there a good tutorial anybody could recommend for me?!? Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188019 Share on other sites More sharing options...
PFMaBiSmAd Posted March 16, 2011 Share Posted March 16, 2011 http://w3schools.com/php/php_mysql_intro.asp Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188021 Share on other sites More sharing options...
Gilly79 Posted March 16, 2011 Author Share Posted March 16, 2011 Thanks for that - I have read the titorial and i think im coding it correctley now <?php $con = mysql_connect("mysql9.000webhost.com","a8346733_shp","*******"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("my_db", $con); ?> <form method="post" enctype="multipart/form-data"> <table width="350" border="0" cellpadding="1" cellspacing="1" class="box"> <tr> <td width="246"> <input type="hidden" name="MAX_FILE_SIZE" value="2000000"> <input name="userfile" type="file" id="userfile"> </td> <td width="80"><input name="upload" type="submit" class="box" id="upload" value=" Upload "></td> </tr> </table> </form> <?php if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) { $fileName = $_FILES['userfile']['name']; $tmpName = $_FILES['userfile']['tmp_name']; $fileSize = $_FILES['userfile']['size']; $fileType = $_FILES['userfile']['type']; $fp = fopen($tmpName, 'r'); $content = fread($fp, filesize($tmpName)); $content = addslashes($content); fclose($fp); if(!get_magic_quotes_gpc()) { $fileName = addslashes($fileName); } $query = "INSERT INTO upload (name, size, type, content ) VALUES ('$fileName', '$fileSize', '$fileType', '$content')"; mysql_query($query) or die('Error, query failed'); echo "<br>File $fileName uploaded<br>"; } ?> ********** The mysql_select_db("my_db", $con); - THE"my_db" REFERS TO THE DATABASE I HAVE SELECTED IN THE $con INSTRUCTION..? I wrote in capitals to differentiate from the code.. I still have the same error im afraid Error, query failed After i learnt to code the Mysql error - I get the following message: No database selected So I arn't selecting the database -- but i do not know what is incorrect with my select command Thank you for your patience Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188022 Share on other sites More sharing options...
fenway Posted March 17, 2011 Share Posted March 17, 2011 Please use the code tags, we have them for a reason. Quote Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188757 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.