Anyone know why this MYSQL INSERT doesn't work?

$con = mysql_connect("localhost","root","");
if (!$con) die('Could not connect: ' . mysql_error());
mysql_select_db("pilot", $con);

$sql = "INSERT INTO logs (id, userid, date, plane, from, to, blocksoff, takeoff,
landing, blockson, flighttime, traveltime, tachobefore, tachoafter, tacho, 
hobbsbefore, hobbsafter, hobbs, landings) VALUES ('$nfid', '$nfuserid', 
'$nfdate', '$nfplane', '$nffrom', '$nfto', '$nfblocksoff', '$nftakeoff', 
'$nflanding', '$nfblockson', '$nfflighttime', '$nftraveltime', '$nftachobefore', 
'$nftachoafter', '$nftacho', '$nfhobbsbefore', '$nfhobbsafter', '$nfhobbs',
'$nflandings')";

mysql_query($sql);

there ain't nothing wrong with the $sql, it seems like it just wont query.. :(

id|userid=int(11)  
date=date  
plane|from|to=text  
blocksoff|takeoff|landing|blockson=time  
flighttime|traveltime|tachobefore|tachoafter|tacho|hobbsbefore|hobbsafter|hobbs|landings=double

all of the $ variables come from a textbox (if it matters)

Upvotes: 0

Views: 486

Answers (3)

KV Prajapati
KV Prajapati

Reputation: 94653

May be some of the column names are MySql reserved words (especially from and to). Please escape them.

INSERT INTO logs (`id`, userid, date, plane, `from`, `to` ...)

Upvotes: 4

phpmeh
phpmeh

Reputation: 1792

Kind of an open ended question....

Are any of your variables returning NULL values? If you are trying to insert NULL into the database, and the database column isn't set to accept NULL values, that could be causing an error.

You need to see what the query is actually doing. If you have any single quotes or other invalid character from the textbox, that could be screwing you up.

Also, for your own personal improvement, look up PDO. It helps you write much more secure queries through the use of prepared statements. http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

Upvotes: 0

Ilion
Ilion

Reputation: 6882

You should always be checking for errors:

$result = mysql_query($sql);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

Upvotes: 0

Related Questions