What is JotForm?
JotForm is a free online form builder which helps you create online forms without writing a single line of code. No sign-up required.

At JotForm, we want to make sure that you’re getting the online form builder help that you need. Our friendly customer support team is available 24/7.

We believe that if one user has a question, there could be more users who may have the same question. This is why many of our support forum threads are public and available to be searched and viewed. If you’d like help immediately, feel free to search for a similar question, or submit your question or concern.


  • Profile Image

    Concatenating variables to post to mysql no longer working.

    Asked by lasercorp on January 19, 2017 at 05:21 PM

    Hi,

    I have php code to post form submissions to a mysql database.

    It was working fine 6 months ago and when I went to use it today, I got an error with this line

    $ServiceDate = $_POST['servicedate'][2]."-".$_POST['servicedate'][0]."-".$_POST['servicedate'][1];

     

    it says to check the PHP syntax.

     

    Any ideas what would have changed?

     

    Thanks,

     

    Eric

  • Profile Image
    JotForm Support

    Answered by Chriistian on January 19, 2017 at 10:07 PM

    The error may be due to the array index not being enclosed in ( ' ' ). Can you please try the code below:

    $ServiceDate = $_POST['servicedate']['2']."-".$_POST['servicedate']['0']."-".$_POST['servicedate']['1'];

    If the issue persists, please let us know.
    Regards.

  • Profile Image

    Answered by lasercorp on January 23, 2017 at 12:43 PM

    Hi,

    I tried enclosing the array index is  ' ', but still received the same error.

    The error I am getting is 

    '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 '`ServiceDate` = '2017/01/23' `PrinterNo` = '1' `TimeStarted` = '12:36:00' `TimeF' at line 4"

     

    There is no code at line 4.

     

    Here is the first part of the code

    // This function will run within each post array including multi-dimensional arrays 

    function ExtendedAddslash(&$params)

            foreach ($params as &$var) {

                // check if $var is an array. If yes, it will start another ExtendedAddslash() function to loop to each key inside.

                is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);

                unset($var);

            }

     

    // Initialize ExtendedAddslash() function for every $_POST variable

    ExtendedAddslash($_POST);      

     

    $SubmissionID = $_POST['submission_id']; 

    $EmployeeID = $_POST['techid'];

    $ServiceDate = $_POST['servicedate']['2']."/".$_POST['servicedate']['0']."/".$_POST['servicedate']['1'];

    $PrinterNo = $_POST['printerid'];

    $TimeStarted = $_POST['starttime']['0'].":".$_POST['starttime']['1'].":00";

    $TimeFinished = $_POST['endtime']['0'].":".$_POST['endtime']['1'].":00";

    $ID = $_POST['submission_id'];

    $drDispatchID = $_POST['dispatchid'];

    $ServiceType = $_POST['servicecode'];

    $CartName = $_POST['cartname'];

    $CartSerialNo = $_POST['cartserial'];

    $DefectCartName = $_POST['defectivecart'];

    $DefectCartSerial = $_POST['defectiveserial'];

    $PageCount = $_POST['pagecount'];

    $StatusSupplyCount = $_POST['statussupply'];

    $PagesRemaining = $_POST['pagesremaining'];

    $TechNote = $_POST['callnotes'];

    $TechLocation = $_POST['locationnote'];

    $TechPrinterNote = $_POST['printernote'];

    $image0 = $_POST['uploadsample'][0];

    $image1 = $_POST['uploadsample'][1];

    $image2 = $_POST['uploadsample'][2];

    $image3 = $_POST['uploadsample'][3];

    $image4 = $_POST['uploadsample'][4];

  • Profile Image
    JotForm Support

    Answered by AIDAN on January 23, 2017 at 02:30 PM

    Hi,

    Please note that the code you posted does not contain the routine/block that creates the currently erroneous SQL request, so I could not inspect what led to that SQL related error as a result.

    Could you please attach the relevant code too? Thank you in advance.

  • Profile Image

    Answered by lasercorp on January 23, 2017 at 03:01 PM

    Hi,

    Here is the entire code

    i tried to upload a file but there is no option

    <?php

    // This function will run within each post array including multi-dimensional arrays 

    function ExtendedAddslash(&$params)

            foreach ($params as &$var) {

                // check if $var is an array. If yes, it will start another ExtendedAddslash() function to loop to each key inside.

                is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);

                unset($var);

            }

     

    // Initialize ExtendedAddslash() function for every $_POST variable

    ExtendedAddslash($_POST);      

     

    $SubmissionID = $_POST['submission_id']; 

    $EmployeeID = $_POST['techid'];

    $ServiceDate = $_POST['servicedate']['2']."/".$_POST['servicedate']['0']."/".$_POST['servicedate']['1'];

    $PrinterNo = $_POST['printerid'];

    $TimeStarted = $_POST['starttime']['0'].":".$_POST['starttime']['1'].":00";

    $TimeFinished = $_POST['endtime']['0'].":".$_POST['endtime']['1'].":00";

    $ID = $_POST['submission_id'];

    $drDispatchID = $_POST['dispatchid'];

    $ServiceType = $_POST['servicecode'];

    $CartName = $_POST['cartname'];

    $CartSerialNo = $_POST['cartserial'];

    $DefectCartName = $_POST['defectivecart'];

    $DefectCartSerial = $_POST['defectiveserial'];

    $PageCount = $_POST['pagecount'];

    $StatusSupplyCount = $_POST['statussupply'];

    $PagesRemaining = $_POST['pagesremaining'];

    $TechNote = $_POST['callnotes'];

    $TechLocation = $_POST['locationnote'];

    $TechPrinterNote = $_POST['printernote'];

    $image0 = $_POST['uploadsample'][0];

    $image1 = $_POST['uploadsample'][1];

    $image2 = $_POST['uploadsample'][2];

    $image3 = $_POST['uploadsample'][3];

    $image4 = $_POST['uploadsample'][4];

     

    mysql_connect( $db_host, $db_username, $db_password) or die(mysql_error());

    mysql_select_db($db_name); 

     

    // search submission ID

     

    $query = "SELECT * FROM `tblTechDailyMySQL` WHERE `SubmissionID` = '$submission_id'";

    $sqlsearch = mysql_query($query);

    $resultcount = mysql_numrows($sqlsearch);

     

    if ($resultcount > 0) {

     

        mysql_query("UPDATE `tblTechDailyMySQL` SET 

                                   

    `EmployeeID` = '$techid'

    `ServiceDate` = '$ServiceDate'

    `PrinterNo` = '$PrinterNo'

    `TimeStarted` = '$TimeStarted'

    `TimeFinished` = '$TimeFinished'

    `ID` = '$submission_id'

    `drDispatchID` = '$dispatchid',

    `ServiceType` = '$servicecode',

    `CartName` = '$cartname',

    `CartSerialNo` = '$cartserial',

    `DefectCartName` = '$defectivecart',

    `DefectCartSerial` = '$defectiveserial',

    `PageCount` = '$pagecount',

    `StatusSupplyCount` = '$statussupply',

    `PagesRemaining` = '$pagesremaining',

    `TechNote` = '$callnotes',

    `TechLocation` = '$locationnote',

    `TechPrinterNote` = '$printernote',

    `image0` = '$image0',

    `image1` = '$image1',

    `image2` = '$image2',

    `image3` = '$image3',

    `image4` = '$image4'

     

     WHERE `SubmissionID` = '$submission_id'") 

         or die(mysql_error());

        

    } else {

     

        mysql_query("INSERT INTO `tblTechDailyMySQL` (SubmissionID,EmployeeID,ServiceDate,PrinterNo,ID,TimeStarted,TimeFinished,drDispatchID,ServiceType,CartName,CartSerialNo,DefectCartName,DefectCartSerial,PageCount,StatusSupplyCount,PagesRemaining,TechNote,TechLocation,TechPrinterNote,image0,image1,image2,image3,image4) 

    VALUES ('$SubmissionID','$EmployeeID','$ServiceDate','$PrinterNo','$ID','$TimeStarted','$TimeFinished','$drDispatchID','$ServiceType','$CartName','$CartSerialNo','$DefectCartName','$DefectCartSerial','$PageCount','$StatusSupplyCount','$PagesRemaining','$TechNote','$TechLocation','$TechPrinterNote','$image0','$image1','$image2','$image3','$image4') ") 

        or die(mysql_error());  

     

    }

    ?>

  • Profile Image
    JotForm Support

    Answered by AIDAN on January 23, 2017 at 04:39 PM

    Hi again,

    Thanks to the code that you kindly provided, I managed to spot the problem immediately:

    Your code is doing:

    mysql_query("UPDATE `tblTechDailyMySQL` SET 

    `EmployeeID` = '$techid'

    `ServiceDate` = '$ServiceDate'

    `PrinterNo` = '$PrinterNo'

    `TimeStarted` = '$TimeStarted'

    `TimeFinished` = '$TimeFinished'

    `ID` = '$submission_id'

    `drDispatchID` = '$dispatchid',

    `ServiceType` = '$servicecode', ... and so on

     

    Please notice how it's missing a comma between the first 6 values, which results in the SQL error.

    It should look like:

     

    mysql_query("UPDATE `tblTechDailyMySQL` SET 

    `EmployeeID` = '$techid',

    `ServiceDate` = '$ServiceDate',

    `PrinterNo` = '$PrinterNo',

    `TimeStarted` = '$TimeStarted',

    `TimeFinished` = '$TimeFinished',

    `ID` = '$submission_id',

    `drDispatchID` = '$dispatchid',

    `ServiceType` = '$servicecode', ... and so on

     

    If you need further assistance please let us know. We will be happy to help. Thank you.

  • Profile Image

    Answered by lasercorp on January 23, 2017 at 05:58 PM

    I'm not sure what happened, but yes, it was the missing commas.

    Thanks alot !!!