$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);
$ sql没有任何问题,似乎它只是不会查询.. :(
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
所有$变量都来自文本框(如果重要)
答案 0 :(得分:4)
可能有些列名是MySql保留字(特别是from
和to
)。请逃避他们。
INSERT INTO logs (`id`, userid, date, plane, `from`, `to` ...)
答案 1 :(得分:0)
您应该始终检查错误:
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
答案 2 :(得分:0)
有点开放式问题......
您的任何变量都返回NULL值吗?如果您尝试将NULL插入数据库,并且数据库列未设置为接受NULL值,则可能导致错误。
您需要查看查询实际执行的操作。如果您在文本框中有任何单引号或其他无效字符,那可能会让您失望。
另外,为了您个人的改进,请查看PDO。它可以帮助您通过使用预准备语句编写更安全的查询。 http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/