【问题标题】:MySQLi creating menus by insertion with phpMySQLi 通过使用 php 插入创建菜单
【发布时间】:2013-05-27 19:19:45
【问题描述】:

我正在尝试创建一个表(完成),并在其中添加一些菜单。我的意思是,在网站上,我希望能够将菜单插入到我的表中。我这里有代码,但我不知道它有什么问题。我知道我需要 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>') 
) ";    

【问题讨论】:

  • 指定您的数据库结构。另外,请考虑切换到 PDO。
  • 天哪,为什么要在数据库中添加标签? :~~
  • 这是你的意思吗? “您需要在开始时指定一次数据库结构(这是您的表中有多少列以及这些列的类型)。”如果是这样,5 列和类型是 varchar、text 和 int(加上主要)。 PDO 代表什么?我不熟悉它或它的作用。我还不是很精通 PHP。
  • @PiLHA 你有什么顾虑?
  • @MidevilChaos 我认为他们应该留在 html 中他们的位置。

标签: php mysqli menu insert


【解决方案1】:

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

您也不能在您的声明中混用SETVALUES。这两条 SQL 语句将执行完全相同的操作:

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

您可以查看MySQL's documentation on INSERT 以了解在 INSERT 语句中允许使用哪些参数。

【讨论】:

  • 好的,现在,我编辑了关于引擎的声明。我会看看其余的并研究它。
【解决方案2】:

要回答我自己的问题,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>')");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 2014-02-22
    • 1970-01-01
    相关资源
    最近更新 更多