尝试这个:
CREATE TABLE ban (
banid int auto_increment primary key,
active int,
ip varchar (20),
`by` varchar (20),
`date` varchar(8),
reason varchar(20)
);
INSERT INTO ban (active, ip, `by`, `date`, reason)
VALUES
(1, '10.25.47.88', 'AUTOBAN', '12-12-45', 'test')
;
SELECT * FROM ban;
http://www.sqlfiddle.com/#!2/1959f/1
一些备注:
像其他几个人一样(例如@wintercounter、@user1909426)已经指出您在MySQL 中使用了受限字词。如果您确实使用了受限词,则使用 ``(反引号)或仅在每一列上使用它们。
我认为在插入的第一部分中使用 null 会产生问题。此列可能是带有 auto_increment 的整数列。请参阅@wintercounter 答案。
幸运的是,日期不是一个受限制的名称。顺便说一句,您现在可以使用日期值而不是 varchar 值。
关于@tadman 的评论,不推荐使用 mysql 而不是 mysqli 或 PDO。mysql 库从 PHP 5.5 版本开始被贬低,请参阅 php 手册。您还需要包括错误处理。
为了完整起见,这是使用 MySQLi 时的 php 代码:
$link = mysqli_connect($hostname, $username, $password, $database);
if (!$link){
echo('Unable to connect to database');
}
else{
mysqli_query("INSERT INTO ban (active, ip, `by`, `date`, reason) VALUES (1,'10.25.47.88', 'AUTOBAN', '12-12-45', 'test'))", $link);
}
mysqli_close($link);
对于 mysql 版本:
$hostname = "hostname";
$username = "username";
$username = "password";
$database = "database";
$link = mysql_connect($hostname, $username, $password);
mysql_database ($database)
if (!$link){
echo('Unable to connect to database');
}
else{
mysql_query("INSERT INTO ban (active, ip, `by`, `date`, reason) VALUES (1,'10.25.47.88', 'AUTOBAN', '12-12-45', 'test')");
}
mysql_close($link);