1

我正在尝试创建一个表(完成),并在里面添加一些菜单。我的意思是,在网站上,我希望能够将我的菜单插入到我的表中。我这里有代码,但我不知道它有什么问题。我知道我需要 MySQLi 兼容性。但是,这超出了我的范围(我已经转换了很多代码,因此它可以与之兼容,但是这里的代码......我不知道如何更改它。

$sql = "insert into pages set VALUES
(
    (1, 'Home', 0, '<p>Home</p>'),
    (2, 'About', 1, '<p>About</p>'),
    (3, 'Services', 1, '<p>Services</p>'),
    (4, 'News', 1, '<p>News</p>'),
    (5, 'Contact', 1, '<p>Contact</p>') 
) ";    
4

2 回答 2

1

ENGINE = INNODB CHARSET = UTF8应该从那里的 SQL 中删除。创建表时使用数据库引擎和字符集,而不是插入值。

你也不能在你的陈述中混合SET和。VALUES这两条 SQL 语句将执行完全相同的操作:

INSERT INTO foo SET bar = 1;
INSERT INTO foo(bar) VALUES(1);

您可以查看MySQL 关于 INSERT 的文档,以了解 INSERT 语句中允许使用哪些参数。

于 2013-05-27T20:09:31.917 回答
0

要回答我自己的问题,ID 1 和 2 已经被占用,我必须使用 ID 3-6。我不小心从“创建表”的角度来看待我的问题,而不是“插入”的角度。@Niklas Modess 你让我意识到我的愚蠢错误!谢谢我的瑞典朋友!

mysqli_query ($conn, "INSERT INTO pages (pageID, pageTitle, isRoot, pageCont) 
VALUES
(3, 'About', 1, '<p>Sample Sample content</p>'),
(4, 'Services', 1, '<p>Sample Sample content</p>'),
(5, 'News', 1, '<p>Sample Sample content</p>'),
(6, 'Contact', 1, '<p>Sample Sample content</p>')");
于 2013-05-27T21:45:07.873 回答