php - 这个 MySQL 查询有问题吗?

标签 php mysql insert object

public function create() {


        echo $this->equipment->getCatId() . "<br/>";
        echo $this->equipment->getName() . "<br/>";
        echo $this->equipment->getYear() . "<br/>";
        echo $this->equipment->getManufacturer() . "<br/>";
        echo $this->equipment->getModel() . "<br/>";
        echo $this->equipment->getPrice() . "<br/>";
        echo $this->equipment->getLocation() . "<br/>";
        echo $this->equipment->getCondition() . "<br/>";
        echo $this->equipment->getStockNum() . "<br/>";
        echo $this->equipment->getInformation() . "<br/>";
        echo $this->equipment->getDescription() . "<br/><br/>";


        $db = Connect::connect();
        $current_time = date('y M d');
        $query = "INSERT INTO equipment (cat_id, name, year, manufacturer, model, price, location, condition,
                                         stock_num, information, description, created, modified)

                                         VALUES

                                        ({$this->equipment->getCatId()}, {$this->equipment->getName()}, {$this->equipment->getYear()},
                                         {$this->equipment->getManufacturer()}, {$this->equipment->getModel()}, {$this->equipment->getPrice()},
                                         {$this->equipment->getLocation()}, {$this->equipment->getCondition()}, {$this->equipment->getStockNum()},
                                         {$this->equipment->getInformation()}, {$this->equipment->getDescription()}, '$current_time', '$current_time')";

        $result = $db->query($query);

        return $db->insert_id;

    }
  • 顶部的回显均显示符合数据库架构的有效数据。
  • 没有连接错误

有什么想法吗?

提前致谢!

这是回显的查询

插入设备(cat_id、名称、年份、制造商、型号、价格、位置、状况、库存编号、信息、描述、创建、修改)值(1、'r'、1、'sdf'、'sdf' 、“2”、“d”、“d”、“3”、“asdfasdfdf”、“df”、“2010 年 5 月 10 日”、“2010 年 5 月 10 日”)

MySQL 给出:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在“条件、stock_num、信息、描述、创建、修改”附近使用的正确语法 VALUES (1, 'r' at line 1

id int(11) 无符号 NO PRI NULL 自动增量 编辑删除 cat_id int(11) unsigned NO NULL
编辑删除 prod_name varchar(255) YES NULL
编辑删除 prod_year varchar(10) YES NULL
编辑 删除制造商 varchar(255) YES NULL
编辑 删除模型 varchar(255) YES NULL
编辑 删除价格 varchar(10) YES NULL
编辑删除位置 varchar(255) YES NULL
编辑删除条件 varchar(25) YES NULL
编辑 删除 stock_num varchar(128) YES NULL
编辑删除信息文本YES NULL
编辑删除描述文本 YES NULL
编辑 删除创建的 varchar(20) YES NULL
编辑 删除修改的 varchar(20) YES NULL

查询:INSERT INTO 设备(cat_id、prod_name、prod_year、制造商、型号、价格、位置、状况、stock_num、信息、描述、创建、修改)VALUES (1, 'asdf', '234', 'adf' 、'asdf'、'34'、'asdf'、'asdf'、'234'、'asdf'、'asdf'、'2010 年 5 月 10 日'、'2010 年 5 月 10 日')

以下是 PhpMyAdmin 的 SQL 导出,以防有人想尝试复制此问题:http://pastie.org/954206

BLEHBLEHSDFOHSE - 显然,“条件”也是一个保留字...加上一些反引号,然后它就开始工作了。

最佳答案

YEAR是MySQL中的保留字。如果您要使用它,则需要反引号(即`year`)

关于php - 这个 MySQL 查询有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2805154/

相关文章:

php - 同时 INSERT 和 Update 或在 SQL 查询中使用 Transact

php - 如何使用 php 将文件路径插入 MySQL 表中?

php - 如何在php中的特定页面加载CSS

php - 如何使用 SimpleXMLElement 获取 XML 根元素的属性

javascript - 如何阻止浏览器Ctrl+U?

mysql - SQL 查看一个学生的所有类(class)

php - 使用外键插入表 - PHP PDO

php - preg_replace img src 到 data-src 堆栈溢出 (PHP)

mysql - 在这种情况下,为什么 mysql "where not exist "的性能比 "not in"好得多? "where not exists"的机制是什么?

mysql - 有没有办法获取按日期创建的表列表?