briansgl Posted May 9, 2014 Share Posted May 9, 2014 When I try and post a new job to the database I am receiving the following 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 'description = "test new Form", j_target = "1 Days", salary = "2.50", s_period' at line 11 Here is the PHP Code: <?php include_once "accesscontrol.php"; $ename = $_SESSION[ename]; $q1 = "select plan, JS_number, JP_number from job_employer_info where ename = \"$ename\" "; $r1 = mysql_query($q1) or die(mysql_error()); $a1 = mysql_fetch_array($r1); if(!empty($a1[plan])) { $a11 = $a1[JP_number]; $submit=$_POST[submit]; if(isset($submit) && $submit == 'Post this job') { $q2 = "select * from job_employer_info where ename = \"$ename\" "; $r2 = mysql_query($q2) or die(mysql_error()); $a2 = mysql_fetch_array($r2); if (is_array($JobCategory)) { $JobStr = implode("," , $JobCategory); } $qc = "select job_id from job_post order by job_id desc"; $rc = mysql_query($qc) or die(mysql_error()); $ac = mysql_fetch_array($rc); $job_id = $ac[0] + 1; $position = strip_tags($position); $description = strip_tags($description); $EXday = date('d', mktime(0,0,0,0, date(d) + $_POST[exdays1], 0)); $EXmonth = date('m', mktime(0,0,0, date(m), date(d) + $_POST[exdays1], 0)); $EXyear = date('Y', mktime(0,0,0,date(m) ,date(d) + $_POST[exdays1], date(Y))); $JobCategory = PagePostArrayComma(JobCategory); $JobSkills = PagePostArrayComma(JobSkills); $careerlevel = PagePostArrayComma(careerlevel); $description = PagePost(description); $CompanyCountry = PagePost(CompanyCountry); $ContactName = PagePost(cname); $CompanyState = PagePost(CompanyState); $position = PagePost(position); $salary = PagePost(salary); $s_period = PagePost(s_period); $showp = PagePost(showp); $showe = PagePost(showe); $shown = PagePost(shown); $town = PagePost(town); $salary = str_replace("£", "", $salary); $q3 = "insert into job_post set job_id = \"$job_id\", ename = \"$ename\", ContactName = \"$ContactName\", CompanyCountry = \"$CompanyCountry\", CompanyState = \"$CompanyState\", Company = \"$a2[CompanyName]\", position = \"$position\", JobCategory = \"$JobCategory\", JobSkills = \"$JobSkills\"; description = \"$description\", j_target = \"$careerlevel\", salary = \"$salary\", s_period = \"$s_period\", showp = \"$showp\", showe = \"$showe\", shown = \"$shown\", EXmonth = \"$EXmonth\", EXday = \"$EXday\", EXyear = \"$EXyear\", job_location= \"$town\""; $r3 = mysql_query($q3) or die(mysql_error()); $a11 = $a11 - 1; $q4 = "update job_employer_info set JP_number = \"$a11\" where ename = \"$ename\" "; $r4 = mysql_query($q4) or die(mysql_error()); ?> And here is the form. I have shortened the <select> bits so its not a long form: <form action="<?=$PHP_SELF?>" method="post" name="form" onSubmit="return checkFields();"> <table align=center width=450> <tr> <td colspan=2> <p><br> <font size="2" face="Arial, Helvetica, sans-serif"><b> You have the following credits remaining on your plan</b></font></p> <ul> <li><font size="2" face="Arial, Helvetica, sans-serif"> <?=$a11?> job postings; </font></li> <li><font size="2" face="Arial, Helvetica, sans-serif"> <?=$a1[JS_number]?> CV reviews; </font></li> </ul></td> <tr> <strong>The plan you have chosen is: <font color=green><?=$a1[plan]?> <br> <td colspan=2 align=center><div align="left"><font size="2" face="Arial, Helvetica, sans-serif"></font> <br><center><font color=red>IMPORTANT NOTICE TO EMPLOYERS </strong><br><br>Please be aware that it is illegal to discriminate in job adverts. By continuing you are confirming that: <br>You understand and agree to conform to the rules on Discrimination.</br><br>An extract from those rules can be found <a href="http://smsjobsite.co.uk/discrimination.php">HERE</a> The form will retain your details.</br><br></div></td> </tr><font size="2" face="Arial, Helvetica, sans-serif"> </font> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif"><strong>Job Title:</strong></font></p><p> </p></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input type=text name=position></font></p><p> </p></td> </tr> <tr> <td height="45" valign=top><font class="smalltext"><b><strong>Category:</strong></b></font><br /></td> <td valign=top> <font size="3" face="Arial, Helvetica, sans-serif"> <select name=JobCategory size="1" id="JobCategory" onchange="fillSecondCombo();return false;"> <option selected value="0">Please select an option</option> <option value="Agriculture">Agriculture</option> <option value="Catering and Hotel Work">Catering and Hotel Work</option> </select> </font></td> </tr> <tr> <td height="47" valign=top><font class="smalltext"><br><strong> Job Skills:</strong></br></font></td> <td> <font size="2" face="Arial, Helvetica, sans-serif"> <select name="JobSkills" size="1" id="JobSkills" style="width:200px;height:23px;z-index:24;"> </select> <br /> </font></td> </tr> <tr> <td valign=top><font class="smalltext"><b><strong> Description:</strong></b></font></td> <td><font class="smalltext"> <textarea rows=12 cols=55 name=description placeholder=You can type your advert or copy and paste from your text editor e.g. Word, Notepad ect.></textarea> </font></td> </tr> <tr> <td valign=top><font class="smalltext"><b><strong><br>Duration:</strong></b></br> </font></td> <td><br> <?php PopulateHTMLMultiCheckboxWithDBTable("", "Settings_CareerLevel", "careerlevel", "careerlevel[]", "285"); ?></br> <br><br><font color=green><strong>Job Location</strong></font> </tr> <tr> <td class=normalboldtext><font class="smalltext"> <b>County:</b></font></td> <td> <select name=CompanyState> <OPTION VALUE="">Select</OPTION> <OPTION VALUE="Avon">Avon <OPTION VALUE="Berkshire">Berkshire </select> </td> </tr> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif"><strong><br>Town</br></strong>:</font></td> <td> <font size="2" face="Arial, Helvetica, sans-serif"> <input type=text name=town> </font></td> </tr> <tr> <td><strong><font size="2" face="Arial, Helvetica, sans-serif">First Name:</font></strong></td> <td> <font size="2" face="Arial, Helvetica, sans-serif"> <input type=text name=cname> </font></td> </tr> <tr> <td><strong><font size="2" face="Arial, Helvetica, sans-serif"><br>Surame:</br></font></strong></td> <td> <font size="2" face="Arial, Helvetica, sans-serif"> <br><input type=text name=lname></br> </font></td> </tr> <tr> <td><font class="smalltext"><b><br>Salary:</br></b></font></td> <td> <font class="smalltext"><b> <br><input type=text name=salary size=11> <select name=s_period></br> <option value=Yearly> Yearly </option> <option value=Monthly>Monthly </option> <option value=Weekly>Weekly </option> <option value=Hourly>Houry </option> </select></b> </font></td> <tr> <td><font class="smalltext"><b> <br>Show for</br> </b></font></td> <td> <font class="smalltext"><b> <br><select name=exdays1></br> <option value=30> 30 </option> <option value=60> 60 </option> <option value=90> 90 </option> </select></b> days. </font></td> </tr> <tr> <td><font class="smalltext"><b><br> Show My:</br> </b></font></td> <td> <font class="smalltext"> <br>Telephone Number <input type="checkbox" name="showp" value="1"/> Name <input type="checkbox" name="shown" value="1"/> Email <input type="checkbox" name="showe" value="1"/></br> </font></td> </tr> <tr> <td align=left> <font size="2" face="Arial, Helvetica, sans-serif"> </font></td> <td align=right> <div align="left"><font class="smalltext"><b><br> <input type=submit name=submit value="Post this job"> <input type=submit name=submit value=Reset></b> </font></div></td> </tr> </table> May be worth pointing out all the other forms that have been upgraded work fine. Its just this one. Link to comment Share on other sites More sharing options...
HartleySan Posted May 9, 2014 Share Posted May 9, 2014 The semicolon at the end of the following line is messing things up: JobSkills = \"$JobSkills\"; Change it to a comma, and the error should go away. Link to comment Share on other sites More sharing options...
Recommended Posts