0

I am trying to insert a MYSQL query as following:

  doSql("INSERT INTO users (userTypeID, memberUsername, memberHashPassword, memberFirstName, memberLastName, memberEmail, memberStreetNumber, memberStreetName, memberSuburb, memberPostcode, memberCountry, memberPhone, memberMobile, memberGender, memberNewsletter, memberImage) VALUES (2, $mUsername, $hashedPassword, $mFirstName, $mLastName, $mEmail, $mStreetNumber, $mStreetName, $mSuburb, $mPostcode, $mCountry, $mPhone, $mMobilePhone, $mGender, $mNewsletter, $destination_path)");

And I'm getting 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 ' e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, , , , , , , ,' at line 1

I have checked for any syntax error like semicolon missing but I don't understand why I'm getting this.

I mean where are these characters coming from: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855?

Here is the doSql function:

/********** Perform MYSQL Query **********/
function doSql($query) {
// 1. Connect to the database
$con = mysqli_connect('localhost', 'root', '', 'shahyan_gameon');
// 2. Test if connection occured
if(mysqli_connect_errno()) {
    die("Database connection failed " . mysqli_connect_error() . "( " . mysqli_connect_errno() . " )");
    return false;
}
// 3. Do the query
$result = mysqli_query($con, $query) or die(mysqli_error($con));
// mysqli_query runs a query against the database using two argument, the connection and the query string
//die() stops a script from being processed and outputs info.
if($result) {
    return $result;
} else {
    return false;
}
}
3

3 Answers 3

1

you need to wrap strings in ' [quotes].

 doSql("INSERT INTO users (userTypeID, memberUsername, memberHashPassword, memberFirstName, memberLastName, memberEmail, memberStreetNumber, memberStreetName, memberSuburb, memberPostcode, memberCountry, memberPhone, memberMobile, memberGender, memberNewsletter, memberImage) VALUES (2, '$mUsername', '$hashedPassword', '$mFirstName', '$mLastName', '$mEmail', '$mStreetNumber', '$mStreetName', '$mSuburb', '$mPostcode', '$mCountry', '$mPhone', '$mMobilePhone', '$mGender', '$mNewsletter', '$destination_path')");

and it should work fine.

Sign up to request clarification or add additional context in comments.

Comments

0

try this

doSql("INSERT INTO users (userTypeID, memberUsername, memberHashPassword, memberFirstName, memberLastName, memberEmail, memberStreetNumber, memberStreetName, memberSuburb, memberPostcode, memberCountry, memberPhone, memberMobile, memberGender, memberNewsletter, memberImage) VALUES (2, '".$mUsername."', '".$hashedPassword."', '".$mFirstName."', '".$mLastName."', '".$mEmail."', '".$mStreetNumber."', '".$mStreetName."', '".$mSuburb."', '".$mPostcode."', '".$mCountry."', '".$mPhone."', '".$mMobilePhone."', '".$mGender."', '".$mNewsletter."', '".$destination_path."')");

Comments

0

The syntax to insert values into a table using MySQL is as follows:

INSERT INTO table_name VALUES('strParameter1','strParameter2',intParameter1);

In your case, you should try:

doSql("INSERT INTO users VALUES(userTypeID, memberUsername, memberHashPassword, memberFirstName, memberLastName, memberEmail, memberStreetNumber, memberStreetName, memberSuburb, memberPostcode, memberCountry, memberPhone, memberMobile, memberGender, memberNewsletter, memberImage) VALUES (2, $mUsername, $hashedPassword, $mFirstName, $mLastName, $mEmail, $mStreetNumber, $mStreetName, $mSuburb, $mPostcode, $mCountry, $mPhone, $mMobilePhone, $mGender, $mNewsletter, $destination_path)");

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.