简体   繁体   English

插入时SQL语法错误

[英]Error in SQL Syntax when Inserting

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 215行是

 '{$_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. 在php中研究sprintf也会很有用。 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ï¾')' 您需要的所有信息都是错误的: You have an error in your SQL syntax; ... for the right syntax to use near '9 Sï¾')' 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ï¾') . 这意味着$_SESSION['other-income-amount']包含值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ï¾') 例如,某人可能输入了9 €但由于字符集可能不正确,php最终将其接收为'9 Sï¾')

Figure out how $_SESSION['other-income-amount'] gets the wrong value in it and fix that issue. 弄清楚$_SESSION['other-income-amount']获得错误的值并解决该问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM