[英]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);
$ 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
所有$變量都來自文本框(如果有的話)
可能某些列名稱是MySql保留字(尤其是from
和to
)。 請逃脫他們。
INSERT INTO logs (`id`, userid, date, plane, `from`, `to` ...)
您應該始終檢查錯誤:
$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
有點開放式的問題。
您的任何變量都返回NULL值嗎? 如果您嘗試將NULL插入數據庫,並且數據庫列未設置為接受NULL值,則可能導致錯誤。
您需要查看查詢的實際作用。 如果文本框中有任何單引號或其他無效字符,則可能會使您感到困惑。
另外,為了您個人的進步,請查找PDO。 通過使用准備好的語句,它可以幫助您編寫更安全的查詢。 http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.