bobicles2 Posted April 16, 2010 Share Posted April 16, 2010 I have a drop down menu shown below as you can see it has multiple fields which i want to add to the same entry into my database (as one complete date) this was my attempt $date = $_POST['Year'] . '-' . $_POST['Month'] . '-' . $_POST['Day']; $sql="INSERT INTO Events (Event, Genre, Date, Price, Venue, Tickets) VALUES ('$_POST['Event']','$_POST['Genre']','$date','$_POST['Price']','$_POST['Venue']','$_POST['Tickets']')"; Unfortunatly this doesnt work and gives me this error ; Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/teamrend/public_html/insert.php on line 23 The Full code is posted below thanks in advance for any help!im really struggling to find a way past this here is my html form <form name="form2" method="post" action="insert.php"> <td><table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#DBDBDB"> <tr> <td colspan="3"><p align="center"><strong>Add Event </strong></p> <p> </p></td> </tr> <tr> <td width="59">Event</td> <td width="4">:</td> <td width="239"><input type="text" name="Event" /></td> </tr> <tr> <td>Genre</td> <td>:</td> <td><select name="genre" id="genre"> <option selected="selected" value="none">Genre</option> <option value="Rock">Rock</option> <option value="Pop">Pop</option> <option value="Indie">Indie</option> <option value="Electro">Electro</option> </select> </td> </tr> <tr> <td>Date</td> <td>:</td> <td> <select name="Year"> <option selected="selected">Year</option> <option value="2010">2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> <option value="2020">2020</option> <option value="2021">2021</option> <option value="2022">2022</option> <option value="2023">2023</option> <option value="2024">2024</option> <option value="2025">2025</option> <option value="2026">2026</option> <option value="2027">2027</option> <option value="2028">2028</option> <option value="2029">2029</option> <option value="2030">2030</option> </select> <select name="Month"> <option selected="selected">Month</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <select name="Day"> <option selected="selected">Day</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> </td> </tr> <tr> <td>Price</td> <td>:</td> <td><input type="text" name="Price" /></td> </tr> <tr> <td>Tickets</td> <td>:</td> <td><input type="text" name="Tickets" /></td> </tr> <tr> <td> </td> <td> </td> <td><input type="submit" name="Submit" value="Submit" /></td> </tr> </table></td> </form> and this is insert.php <?php $date = $_POST['Year'] . '-' . $_POST['Month'] . '-' . $_POST['Day']; $con = mysql_connect("localhost","teamrend_rwowen","291Aug89"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("teamrend_rwowen", $con); $date = $_POST['Year'] . '-' . $_POST['Month'] . '-' . $_POST['Day']; $sql="INSERT INTO Events (Event, Genre, Date, Price, Venue, Tickets) VALUES ('$_POST['Event']','$_POST['Genre']','$date','$_POST['Price']','$_POST['Venue']','$_POST['Tickets']')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "Thank You, Your Event has now been added to our Records"; mysql_close($con) ?> Link to comment https://forums.phpfreaks.com/topic/198785-insert-multiple-form-entries-as-one-database-entry/ Share on other sites More sharing options...
Ken2k7 Posted April 16, 2010 Share Posted April 16, 2010 $sql="INSERT INTO Events (Event, Genre, Date, Price, Venue, Tickets) VALUES ('$_POST['Event']','$_POST['Genre']','$date','$_POST['Price']','$_POST['Venue']','$_POST['Tickets']')"; That part up there. See how your single quote in $_POST['Event'] is closing the quote before it? If you want to keep it as is, put { } around it such as {$_POST['Event']}. Do the same for the rest. Link to comment https://forums.phpfreaks.com/topic/198785-insert-multiple-form-entries-as-one-database-entry/#findComment-1043298 Share on other sites More sharing options...
bobicles2 Posted April 16, 2010 Author Share Posted April 16, 2010 so '$_POST['Event']' would become {$_POST['Event']}? and the $date part should work fine? thanks Link to comment https://forums.phpfreaks.com/topic/198785-insert-multiple-form-entries-as-one-database-entry/#findComment-1043301 Share on other sites More sharing options...
Ken2k7 Posted April 16, 2010 Share Posted April 16, 2010 Yes, pending they are "safe". Check out mysql_real_escape_string to prevent SQL injections. Link to comment https://forums.phpfreaks.com/topic/198785-insert-multiple-form-entries-as-one-database-entry/#findComment-1043304 Share on other sites More sharing options...
bobicles2 Posted April 16, 2010 Author Share Posted April 16, 2010 $date = $_POST['Year'] . '-' . $_POST['Month'] . '-' . $_POST['Day']; $sql="INSERT INTO Events (Event, Genre, Date, Price, Venue, Tickets) VALUES ({$_POST['Event']},{$_POST['Genre']},{$date},{$_POST['Price']},{$_POST['Venue']},{$_POST['Tickets']})"; i changed it to that and got this error Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2027-03-22,30,,www.ticketmaster.com)' at line 3 i know i need to look at adding the real escape string but im not entirely sure what to do with it (being a php novice) so i want to get everything working first then do some reason and edit that into it, any idea where this is going wrong? Link to comment https://forums.phpfreaks.com/topic/198785-insert-multiple-form-entries-as-one-database-entry/#findComment-1043311 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.