これを試して:
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値の代わりにdate値を使用できるようになりました。
@tadmanからのコメントに関しては、mysqliまたはPDOの代わりにmysqlを使用することはお勧めしません。mysqlライブラリはバージョンPHP5.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);