Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我如何处理需要比';SQL中允许使用什么?_Php_Sql_Html_Phpmyadmin - Fatal编程技术网

Php 我如何处理需要比';SQL中允许使用什么?

Php 我如何处理需要比';SQL中允许使用什么?,php,sql,html,phpmyadmin,Php,Sql,Html,Phpmyadmin,我在创建sql数据库时遇到了一些问题。我一直在写一份有很多问题的调查问卷。我使用一个PHP脚本,当用户提交问卷时,它会自动创建表,并使用输入名称命名表中的列 我想有一个好方法可以让我在以后查看提交的内容时轻松地遵循,那就是使用问题作为HTML输入的名称属性,这样当我查询它时,一切都在那里,我不必怀疑哪个答案指向哪个问题,也不必来回查看其他内容 我遇到的问题是,SQL列名称的长度是有限制的。我不确定这到底有多长,但我遇到了一个错误,直到我缩短了输入名称 所以我需要完成的是为输入使用较短的名称,这样

我在创建sql数据库时遇到了一些问题。我一直在写一份有很多问题的调查问卷。我使用一个PHP脚本,当用户提交问卷时,它会自动创建表,并使用输入名称命名表中的列

我想有一个好方法可以让我在以后查看提交的内容时轻松地遵循,那就是使用问题作为HTML输入的名称属性,这样当我查询它时,一切都在那里,我不必怀疑哪个答案指向哪个问题,也不必来回查看其他内容

我遇到的问题是,SQL列名称的长度是有限制的。我不确定这到底有多长,但我遇到了一个错误,直到我缩短了输入名称


所以我需要完成的是为输入使用较短的名称,这样它们对于sql列就不会太长,但是以某种方式将其链接到另一个包含实际名称的表,以便在稍后我需要查看提交时可以查询它们。有解决方法吗?

通常,最大长度为128个字符,但根据您使用的SQL版本,也有例外情况。

不要这样做。解决此问题的方法是将数据作为数据存储在实际列中,而不是动态生成表和列名

例如,对于用户生成的问卷,您可能有以下布局:

用户表: 问卷表: 问题表: 答案表
这样,每种类型的事实只需要一个表,不必动态生成表或列,并且可以为数据存储任意数量的文本。

创建表,如中所示(如果不存在),对吗?另外,我想知道是否有办法将字段转换为列名……这听起来是个坏主意。这不意味着列名中会有空格吗?比如:“你的车是什么颜色的?”,B那是正确的。foxbeefly我打算做“什么颜色?我们的车是什么颜色”来消除空间,但鉴于一些问题太长,我不得不找到解决办法。更像是给它起一个名字,比如“Ques_01”,并让它链接到某个可以让我查询“你的车是什么颜色的?”的东西,而不是“Ques_01,Ques_02,Ques_03”,这样我实际上知道他们在回答什么,而不必同时看其他东西。这样做的方法不是动态创建表。使用更通用的表,并将数据作为实际数据存储在这些表中。如果您给我们一个表的例子,我们可以提供一个更易于长期维护的替代方案。正如其他人所指出的……列名的用途不是存储问题,而是将字段本身列在一行中的列的名称,然后分别包含问题和答案。从我读到的内容来看,您似乎对如何使用表和列有一些有趣的想法(与数据库引擎使用它们的意图相反)。你能举几个例子和信息吗?比如:一个特定问题最多有多少个答案,多个问题可能有相同的答案吗?我们可以帮助你!隐马尔可夫模型。。。我有一些超过128个字符,所以我仍然需要一个解决方法。你可以用问题填充表格的第一行。
id name
 1 john
 2 alice
 3 fred
id created_by_user_id questionnaire_name
 1 1                  Animal Questionnaire
 2 3                  Tree Questionnaire
 ...
id questionnaire_id question
 1 1                How many pets do you own?
 2 1                Have you ever owned a goldfish?
 3 1                Do you like cows?
 4 2                How many trees are in your back yard?
 5 2                When did you last see a silver birch?
 ...
 id questionnaire_id question_id user_answered_id answer_text
  1                1           1                2 Four
  2                1           2                2 No
  3                1           3                2 I love cows!
  4                1           3                3 I hate cows.