我有这样的功能:
function record(){
$table = new table;
$clogin = new login;
$date = date("F j, Y, g:i a");
$ip = $_SERVER['REMOTE_ADDR'];
$uri = $_SERVER['REQUEST_URI'];
mysql_query("insert into log (player, date, ip, on) values ('$clogin->username', '$date', '$ip', '$uri')");
$fopen = fopen("data/log.txt", "a+");
fwrite ($fopen, "PLAYER: $clogin->username DATE: $date IP: $ip ON: $uri\n");
fclose ($fopen); }
我还有另一个函数内的其他mysql查询,它的工作。并且fopen,fwrite和fclose也正确执行。我想知道,为什么在这个函数中查询不起作用。我错了写了查询?
答案 0 :(得分:3)
这是因为mySQL LOG
和DATE
中表ON
的两个字段都是Reserved Word。而是在字段之前和之后使用反向标记(`
)。
喜欢这个:
INSERT INTO `tableName`(`fieldA`,`fieldB`,`fieldB`) VALUES ('','','');