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 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 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 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". 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 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. 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??!? 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?!? 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 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 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. Link to comment https://forums.phpfreaks.com/topic/230642-query-regarding-image-upload/#findComment-1188757 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.