I have been getting intermittent errors that come across like this.
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 '9 Sï¾')' at line 215
I don't get this everytime. Here is the code that it says the error occurs in. I am escaping all data before storing in the session and then inserting the session into the database. Line 215 is
'{$_SESSION['other-income-amount']}',
Here is the full code.
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO `application` (`ID`, `DATE`, `interested`, `intereseted2`,
`final`,
`type`,
`loan-type`,
`other-loan-type`,
`monthly-payment`,
`loan-total`,
`vehicle-submit`,
`name`,
`date-of-birth-month`,
`date-of-birth-day`,
`date-of-birth-year`,
`street`,
`city`,
`state`,
`zip`,
`marital-status`,
`personal-info-submit`,
`occupation`,
`salary`,
`date-of-employment`,
`employer-phone`,
`employer-phone2`,
`employer-phone3`,
`employer-address`,
`employer-city`,
`employer-state`,
`other-income`,
`other-income-amount`,
`income-submit`,
`mortgage`,
`creditor`,
`creditor2`,
`creditor3`,
`alimony`,
`orig-amount`,
`orig-amount1`,
`orig-amount2`,
`orig-amount3`,
`orig-amount4`,
`pres-balance`,
`pres-balance1`,
`pres-balance2`,
`pres-balance3`,
`mo-amount`,
`mo-amount1`,
`mo-amount2`,
`mo-amount3`,
`debts-info-submit`,
`reference-info-submit`,
`areacode`,
`middlethree`,
`lastfour`,
`email`,
`accountnumber`,
`month-of-employment`,
`day-of-employment`,
`year-of-employment`,
`relative-name`,
`relative-street`,
`relative-city`,
`relative-state`,
`relative-zip`,
`relative-phone1`,
`relative-phone2`,
`relative3`,
`relative-email`,
`relathionship`,
`posted_data`,
`personal-reason`,
`personal-submit`,
`total-amount`,
`other-submit`,
`additional-info`,
`joint-info-submit`,
`coname`,
`codate-of-birth-month`,
`codate-of-birth-day`,
`codate-of-birth-year`,
`costreet`,
`cocity`,
`costate`,
`cozip`,
`cophone`,
`cophone2`,
`cophone3`,
`coemail`,
`comarital-status`,
`coaccount`,
`cooccupation`,
`cosalary`,
`codate-of-employment-month`,
`codate-of-employment-day`,
`codate-of-employment-year`,
`coemployer-phone`,
`coemployer-phone-2`,
`coemployer-phone-3`,
`coemployer-address`,
`coemployer-city`,
`coemployer-state`,
`coother-income`,
`coother-income-amount`,
`no-hassle-amount`,
`employer-zip`,
`file`,
`ssn`
)
VALUES ('', '$date',
'{$_SESSION['interested']}',
'{$_SESSION['interested2']}',
'{$_SESSION['final']}',
'{$_SESSION['type']}',
'{$_SESSION['loan-type']}',
'{$_SESSION['other-loan-type']}',
'{$_SESSION['monthly-payment']}',
'{$_SESSION['loan-total']}',
'{$_SESSION['vehicle-submit']}',
'{$_SESSION['name']}',
'{$_SESSION['date-of-birth-month']}',
'{$_SESSION['date-of-birth-day']}',
'{$_SESSION['date-of-birth-year']}',
'{$_SESSION['street']}',
'{$_SESSION['city']}',
'{$_SESSION['state']}',
'{$_SESSION['zip']}',
'{$_SESSION['marital-status']}',
'{$_SESSION['personal-info-submit']}',
'{$_SESSION['occupation']}',
'{$_SESSION['salary']}',
'{$_SESSION['date-of-employment']}',
'{$_SESSION['employer-phone']}',
'{$_SESSION['employer-phone-2']}',
'{$_SESSION['employer-phone-3']}',
'{$_SESSION['employer-address']}',
'{$_SESSION['employer-city']}',
'{$_SESSION['employer-state']}',
'{$_SESSION['other-income']}',
'{$_SESSION['other-income-amount']}',
'{$_SESSION['income-submit']}',
'{$_SESSION['mortgage']}',
'{$_SESSION['creditor']}',
'{$_SESSION['creditor2']}',
'{$_SESSION['creditor3']}',
'{$_SESSION['alimony']}',
'{$_SESSION['orig-amount']}',
'{$_SESSION['orig-amount1']}',
'{$_SESSION['orig-amount2']}',
'{$_SESSION['orig-amount3']}',
'{$_SESSION['orig-amount4']}',
'{$_SESSION['pres-balance']}',
'{$_SESSION['pres-balance1']}',
'{$_SESSION['pres-balance2']}',
'{$_SESSION['pres-balance3']}',
'{$_SESSION['mo-amount']}',
'{$_SESSION['mo-amount1']}',
'{$_SESSION['mo-amount2']}',
'{$_SESSION['mo-amount3']}',
'{$_SESSION['debts-info-submit']}',
'{$_SESSION['reference-info-submit']}',
'{$_SESSION['areacode']}',
'{$_SESSION['middlethree']}',
'{$_SESSION['lastfour']}',
'{$_SESSION['email']}',
'{$_SESSION['accountnumber']}',
'{$_SESSION['month-of-employment']}',
'{$_SESSION['day-of-employment']}',
'{$_SESSION['year-of-employment']}',
'{$_SESSION['relative-name']}',
'{$_SESSION['relative-street']}',
'{$_SESSION['relative-city']}',
'{$_SESSION['relative-state']}',
'{$_SESSION['relative-zip']}',
'{$_SESSION['relative-phone1']}',
'{$_SESSION['relative-phone2']}',
'{$_SESSION['relative3']}',
'{$_SESSION['relative-email']}',
'{$_SESSION['relathionship']}',
'{$_SESSION['posted_data']}',
'{$_SESSION['personal-reason']}',
'{$_SESSION['personal-submit']}',
'{$_SESSION['total-amount']}',
'{$_SESSION['other-submit']}',
'{$_SESSION['additional-info']}',
'{$_SESSION['joint-info-submit']}',
'{$_SESSION['coname']}',
'{$_SESSION['codate-of-birth-month']}',
'{$_SESSION['codate-of-birth-day']}',
'{$_SESSION['codate-of-birth-year']}',
'{$_SESSION['costreet']}',
'{$_SESSION['cocity']}',
'{$_SESSION['costate']}',
'{$_SESSION['cozip']}',
'{$_SESSION['cophone']}',
'{$_SESSION['cophone2']}',
'{$_SESSION['cophone3']}',
'{$_SESSION['coemail']}',
'{$_SESSION['comarital-status']}',
'{$_SESSION['coaccount']}',
'{$_SESSION['cooccupation']}',
'{$_SESSION['cosalary']}',
'{$_SESSION['codate-of-employment-month']}',
'{$_SESSION['codate-of-employment-day']}',
'{$_SESSION['codate-of-employment-year']}',
'{$_SESSION['coemployer-phone']}',
'{$_SESSION['coemployer-phone-2']}',
'{$_SESSION['coemployer-phone-3']}',
'{$_SESSION['coemployer-address']}',
'{$_SESSION['coemployer-city']}',
'{$_SESSION['coemployer-state']}',
'{$_SESSION['coother-income']}',
'{$_SESSION['coother-income-amount']}',
'{$_SESSION['no-hassle-amount']}',
'{$_SESSION['employer-zip']}',
'{$_FILES["file"]["name"]}',
'{$encrypted}'
)";
I escape with this then store into session.
foreach ($_POST as $key => $value) {
$_POST[$key] = mysqli_real_escape_string($con, $value);
}
Put your values without quotes.
Instead of this:
'{$_SESSION['other-income-amount']}',
Use this:
$_SESSION['interested'], $_SESSION['other-income-amount'], ...
Your code will be like this:
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO application (ID, DATE, interested, intereseted2,
final,
type,
loan-type,
other-loan-type,
monthly-payment,
loan-total,
vehicle-submit,
name,
date-of-birth-month,
date-of-birth-day,
date-of-birth-year,
street,
city,
state,
zip,
marital-status,
personal-info-submit,
occupation,
salary,
date-of-employment,
employer-phone,
employer-phone2,
employer-phone3,
employer-address,
employer-city,
employer-state,
other-income,
other-income-amount,
income-submit,
mortgage,
creditor,
creditor2,
creditor3,
alimony,
orig-amount,
orig-amount1,
orig-amount2,
orig-amount3,
orig-amount4,
pres-balance,
pres-balance1,
pres-balance2,
pres-balance3,
mo-amount,
mo-amount1,
mo-amount2,
mo-amount3,
debts-info-submit,
reference-info-submit,
areacode,
middlethree,
lastfour,
email,
accountnumber,
month-of-employment,
day-of-employment,
year-of-employment,
relative-name,
relative-street,
relative-city,
relative-state,
relative-zip,
relative-phone1,
relative-phone2,
relative3,
relative-email,
relathionship,
posted_data,
personal-reason,
personal-submit,
total-amount,
other-submit,
additional-info,
joint-info-submit,
coname,
codate-of-birth-month,
codate-of-birth-day,
codate-of-birth-year,
costreet,
cocity,
costate,
cozip,
cophone,
cophone2,
cophone3,
coemail,
comarital-status,
coaccount,
cooccupation,
cosalary,
codate-of-employment-month,
codate-of-employment-day,
codate-of-employment-year,
coemployer-phone,
coemployer-phone-2,
coemployer-phone-3,
coemployer-address,
coemployer-city,
coemployer-state,
coother-income,
coother-income-amount,
no-hassle-amount,
employer-zip,
file,
ssn
)
VALUES ('', $date,
$_SESSION['interested'],
$_SESSION['interested2'],
$_SESSION['final'],
$_SESSION['type'],
$_SESSION['loan-type'],
$_SESSION['other-loan-type'],
$_SESSION['monthly-payment'],
$_SESSION['loan-total'],
$_SESSION['vehicle-submit'],
$_SESSION['name'],
$_SESSION['date-of-birth-month'],
$_SESSION['date-of-birth-day'],
$_SESSION['date-of-birth-year'],
$_SESSION['street'],
$_SESSION['city'],
$_SESSION['state'],
$_SESSION['zip'],
$_SESSION['marital-status'],
$_SESSION['personal-info-submit'],
$_SESSION['occupation'],
$_SESSION['salary'],
$_SESSION['date-of-employment'],
$_SESSION['employer-phone'],
$_SESSION['employer-phone-2'],
$_SESSION['employer-phone-3'],
$_SESSION['employer-address'],
$_SESSION['employer-city'],
$_SESSION['employer-state'],
$_SESSION['other-income'],
$_SESSION['other-income-amount'],
$_SESSION['income-submit'],
$_SESSION['mortgage'],
$_SESSION['creditor'],
$_SESSION['creditor2'],
$_SESSION['creditor3'],
$_SESSION['alimony'],
$_SESSION['orig-amount'],
$_SESSION['orig-amount1'],
$_SESSION['orig-amount2'],
$_SESSION['orig-amount3'],
$_SESSION['orig-amount4'],
$_SESSION['pres-balance'],
$_SESSION['pres-balance1'],
$_SESSION['pres-balance2'],
$_SESSION['pres-balance3'],
$_SESSION['mo-amount'],
$_SESSION['mo-amount1'],
$_SESSION['mo-amount2'],
$_SESSION['mo-amount3'],
$_SESSION['debts-info-submit'],
$_SESSION['reference-info-submit'],
$_SESSION['areacode'],
$_SESSION['middlethree'],
$_SESSION['lastfour'],
$_SESSION['email'],
$_SESSION['accountnumber'],
$_SESSION['month-of-employment'],
$_SESSION['day-of-employment'],
$_SESSION['year-of-employment'],
$_SESSION['relative-name'],
$_SESSION['relative-street'],
$_SESSION['relative-city'],
$_SESSION['relative-state'],
$_SESSION['relative-zip'],
$_SESSION['relative-phone1'],
$_SESSION['relative-phone2'],
$_SESSION['relative3'],
$_SESSION['relative-email'],
$_SESSION['relathionship'],
$_SESSION['posted_data'],
$_SESSION['personal-reason'],
$_SESSION['personal-submit'],
$_SESSION['total-amount'],
$_SESSION['other-submit'],
$_SESSION['additional-info'],
$_SESSION['joint-info-submit'],
$_SESSION['coname'],
$_SESSION['codate-of-birth-month'],
$_SESSION['codate-of-birth-day'],
$_SESSION['codate-of-birth-year'],
$_SESSION['costreet'],
$_SESSION['cocity'],
$_SESSION['costate'],
$_SESSION['cozip'],
$_SESSION['cophone'],
$_SESSION['cophone2'],
$_SESSION['cophone3'],
$_SESSION['coemail'],
$_SESSION['comarital-status'],
$_SESSION['coaccount'],
$_SESSION['cooccupation'],
$_SESSION['cosalary'],
$_SESSION['codate-of-employment-month'],
$_SESSION['codate-of-employment-day'],
$_SESSION['codate-of-employment-year'],
$_SESSION['coemployer-phone'],
$_SESSION['coemployer-phone-2'],
$_SESSION['coemployer-phone-3'],
$_SESSION['coemployer-address'],
$_SESSION['coemployer-city'],
$_SESSION['coemployer-state'],
$_SESSION['coother-income'],
$_SESSION['coother-income-amount'],
$_SESSION['no-hassle-amount'],
$_SESSION['employer-zip'],
$_FILES['file']['name'],
$encrypted
)";
Also study about sprintf in php would be very useful. Google it!
All the information you need is in error you are getting: You have an error in your SQL syntax; ... for the right syntax to use near '9 Sï¾')'
What this means is $_SESSION['other-income-amount'] contains the value 9 Sï¾').
This could be a character set issue. Usually this is the case when you see weird characters you aren't expecting. For example, someone might be entering 9 € but because the character sets may be incorrect, php ends up receiving it as '9 Sï¾')
Figure out how $_SESSION['other-income-amount'] gets the wrong value in it and fix that issue.
Hi I don't know what's the problem. The date field is not inserting to mysql.The format should be in YYYY-MM-DD like in mysql. Maybe that's the problem? The date in the input type is mm-dd-yyyy.
Query:
if(isset($_POST['subButton']))
{
mysql_query("INSERT INTO order_queue (Date, Tracking, Name, Address,
ContactNo, dateneed, Payment, Claiming, qtyBlackWhite,
totalBlackWhite, qtyChocnut, totalChocnut, qtyHotMama, totalHotMama,
qtyMocha, totalMocha, qtyUbeKeso, totalUbeKeso, GrandTotal)
VALUES (NOW(), '".$_POST['Tracking']."', '".$_POST['Name']."',
'".$_POST['Address']."', '".$_POST['ContactNo']."',
'".$_POST['dateneed']."', '".$_POST['Payment']."',
'".$_POST['Claiming']."', '".$_POST['qtyBlackWhite']."',
'".$_POST['totalBlackWhite']."', '".$_POST['qtyChocnut']."',
'".$_POST['totalChocnut']."', '".$_POST['qtyHotMama']."',
'".$_POST['totalHotMama']."', '".$_POST['qtyMocha']."',
'".$_POST['totalMocha']."', '".$_POST['qtyUbeKeso']."',
'".$_POST['totalUbeKeso']."', '".$_POST['GrandTotal']."')");
}
html
<input type="date" name="dateneed" id="dateneed" />
The date input type is mm/dd/yyyy.
In mysql the dateneed field is in DATE datatype and NN. What's wrong? In the query the Date is the auto inserting of date when the form is submitted. The problem is the dateneed is kinda preventing the form from insert everything. T__T
There are more problems with it.
As other suggested, first of all, don't use PHP mysql extension, use mysqli or PDO.
Second, always check for EVERY user input data, and format them according to your query.
Use parameters in your SQL or escape the values you insert.
But to answer your question, use this:
$d = explode('/',$_POST['dateneed']);
$date = $d[2].'-'.$d[0].'-'.$d[1];
But you should check the date to be valid.
You Just have to pass fieldname is dateneed instead of Date
if(isset($_POST['subButton']))
{
mysql_query("INSERT INTO order_queue (dateneed, Tracking, Name, Address,
ContactNo, dateneed, Payment, Claiming, qtyBlackWhite,
totalBlackWhite, qtyChocnut, totalChocnut, qtyHotMama, totalHotMama,
qtyMocha, totalMocha, qtyUbeKeso, totalUbeKeso, GrandTotal)
VALUES (NOW(), '".$_POST['Tracking']."', '".$_POST['Name']."',
'".$_POST['Address']."', '".$_POST['ContactNo']."',
'".$_POST['dateneed']."', '".$_POST['Payment']."',
'".$_POST['Claiming']."', '".$_POST['qtyBlackWhite']."',
'".$_POST['totalBlackWhite']."', '".$_POST['qtyChocnut']."',
'".$_POST['totalChocnut']."', '".$_POST['qtyHotMama']."',
'".$_POST['totalHotMama']."', '".$_POST['qtyMocha']."',
'".$_POST['totalMocha']."', '".$_POST['qtyUbeKeso']."',
'".$_POST['totalUbeKeso']."', '".$_POST['GrandTotal']."')");
}
YOu can manipulate the dateneed value into require format then we can store it to database.
if(isset($_POST['subButton']))
{
$dateneedExplode = explode('-',$_POST['dateneed']);
$dateneedValue = $dateneedExplode[2].'-'.$dateneedExplode[0].'- '.$dateneedExplode[1];
mysql_query("INSERT INTO order_queue (Date, Tracking, Name, Address,
ContactNo, dateneed, Payment, Claiming, qtyBlackWhite,
totalBlackWhite, qtyChocnut, totalChocnut, qtyHotMama, totalHotMama,
qtyMocha, totalMocha, qtyUbeKeso, totalUbeKeso, GrandTotal)
VALUES (NOW(), '".$_POST['Tracking']."', '".$_POST['Name']."',
'".$_POST['Address']."', '".$_POST['ContactNo']."',
'".$dateneedValue."', '".$_POST['Payment']."',
'".$_POST['Claiming']."', '".$_POST['qtyBlackWhite']."',
'".$_POST['totalBlackWhite']."', '".$_POST['qtyChocnut']."',
'".$_POST['totalChocnut']."', '".$_POST['qtyHotMama']."',
'".$_POST['totalHotMama']."', '".$_POST['qtyMocha']."',
'".$_POST['totalMocha']."', '".$_POST['qtyUbeKeso']."',
'".$_POST['totalUbeKeso']."', '".$_POST['GrandTotal']."')");
}
I am having an issue with a simple form uploading script.
On this upload script I built to upload data to a MySql database, I can't seem to get the record to insert into the database when I include this one variable.
I figured that perhaps I am overlooking some minor coding issue, and I'm working on a deadline to get this system live...
Here is the code snippit that is giving me issues.
$title=$_REQUEST['title'];
$author=$_REQUEST['author'];
$hours=$_REQUEST['hours'];
$start_d=$_REQUEST['start_d'];
$start_m=$_REQUEST['start_m'];
$start_y=$_REQUEST['start_y'];
$end_d=$_REQUEST['end_d'];
$end_m=$_REQUEST['end_m'];
$end_y=$_REQUEST['end_y'];
$certificate=$_REQUEST['certificate'];
$required=$_REQUEST['required'];
$assessment=$_REQUEST['assessment'];
$describe=$_REQUEST['description'];
$query=mysql_query("INSERT INTO `records` (title, hours, start_date_d, start_date_m, start_date_y , end_date_d, end_date_m, end_date_y , certificate, requirement, author, approved, assessment, describe) VALUES ('$title', '$hours', '$start_d', '$start_m', '$start_y', '$end_d', '$end_m', '$end_y', '$certificate', '$required', '$author', '0', '$assessment', '$describe')");
mysql_close();
The variable that is giving me issues is the one denoted as '$describe'.
My previous testing has indicated:
The form script is collecting data correctly
The form script is passing the data to the upload script correctly via method='post'
The database connection information is correct
All of the field names in the mysql query are typed correctly
Thank you in advance for your help.
Update:
echo mysql_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 ' assessment, describe) VALUES' at line 1
this awful code should be totally rewritten.
but to solve this very problem
foreach ($_REQUEST as $key => $value) $_REQUEST[$key] = mysql_real_escape_string($value);
Something like this.
Note that i've changed date fields to date format.
$_POST['start_date'] = $_POST['start_y'].'-'.$_POST['start_m'].'-'.$_POST['start_d'];
$_POST['end_date'] = $_POST['end_y'].'-'.$_POST['end_m'].'-'.$_POST['end_d'];
$_POST['approved'] = 0;
$fields = explode(" ","title author hours start_date end_date certificate required assessment describe");
$query = "INSERT INTO `records` SET ".dbSet($fields);
mysql_query($query) or trigger_error(mysql_error().$query);
function dbSet($fields) {
$q='';
foreach ($fields as $v) $q.="`$v`='".mysql_real_escape_string($_POST[$v])."', ";
return trim($q,", ");
}
Try this:
$query="INSERT INTO `records` (title, hours, start_date_d, start_date_m, start_date_y , end_date_d, end_date_m, end_date_y , certificate, requirement, author, approved, assessment, describe) VALUES ('$title', '$hours', '$start_d', '$start_m', '$start_y', '$end_d', '$end_m', '$end_y', '$certificate', '$required', '$author', '0', '$assessment', '$describe')";
var_dump($query);
And post to us :)
It turns out that "Describe" is a reserved word in MySql.
I changed the field name, and now my script works...