PHP不会创建mysql表,但可以手动输入。

PHP不会创建mysql表,但可以手动输入。,php,mysql,sql,Php,Mysql,Sql,我试图在项目插入到项目表时为项目的投标历史创建一个表 我得到这个错误: 错误号码:1064 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第行“19”(用户_pk INT(20)无符号,最大投标十进制数(16,8)un)附近 一, 创建表项'19'(用户_pk INT(20)未签名,maxbid 十进制(16,8)无符号,投标十进制(16,8)无符号,ip VARCHAR(80), 获胜布尔值(空) 文件名: /home/content/61/114206

我试图在项目插入到项目表时为项目的投标历史创建一个表

我得到这个错误:

错误号码:1064

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第行“19”(用户_pk INT(20)无符号,最大投标十进制数(16,8)un)附近 一,

创建表项'19'(用户_pk INT(20)未签名,maxbid 十进制(16,8)无符号,投标十进制(16,8)无符号,ip VARCHAR(80), 获胜布尔值(空)

文件名: /home/content/61/11420661/html/btcbidder.com/controllers/user.php

电话号码:253

该行的代码为:

                        $this->db->query("CREATE TABLE item'$currentId' (
                                            user_pk INT(20)unsigned,
                                            maxbid DECIMAL(16,8)unsigned,
                                            bid DECIMAL(16,8)unsigned,
                                            ip VARCHAR(80),
                                            winning BOOLEAN NULL
                                            )");
如果我通过在SQL查询浏览器中输入类似item23的表名来手动创建表,则表创建成功


我做错了什么?

您可以尝试使用.连接查询字符串和变量

$this->db->query("CREATE TABLE item". $currentId ." (
                                        user_pk INT(20)unsigned,
                                        maxbid DECIMAL(16,8)unsigned,
                                        bid DECIMAL(16,8)unsigned,
                                        ip VARCHAR(80),
                                        winning BOOLEAN NULL
                                        )");

另外-您确定需要一个新表吗?您可以有一个
项目
表,其中一列为
项目ID
。@andrewsi,我有一个单独的表,其中包含所有项目、项目照片路径、标题、描述和卖家最低价格。该表将记录该项目的所有出价,该表将当用户或工作人员删除项目时,或在项目过期30天后删除。