- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试将表单元素中的文本消息插入数据库设置以接收最多 999 个字符的 VARCHAR 类型时,收到 MySQL 错误消息。我还尝试将类型设置为文本。也许有些东西我在这里没有看到。错误指出它是语法错误,但我没有看到错误。我使用的是 MySQL 5.1 版
错误消息如下:
“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,了解在“键(数字、类别、问题、answertxt、答案、正确、不正确、反馈”附近使用的正确语法,网址为第 1 行”。
这是我的提交表单(create.php):
<?php
session_start(); //start sesson.
$error = false;
$error = $_SESSION['error'];
if($error){
echo '<div class="error">Please fill in all required fields indicated by the * symbol</div>';
}
?>
<form action="db_adddata.php" method="post">
<label>Category</label><br>
<input type="text" id="category" name="category" value="" maxlength="50">*<br>
<label>Question text</label><br>
<textarea id="question" name="question" rows="7" cols="20"></textarea>*<br>
<label>Answer text</label><br>
<textarea id="answertxt" name="answertxt" rows="7" cols="20"></textarea>*<br>
<label>Accepted answers (comma separated)</label><br>
<textarea id="answer" name="answer" rows="7" cols="20"></textarea>*<br>
<label>Correct answer response</label><br>
<textarea id="correct" name="correct" rows="7" cols="20"></textarea>*<br>
<label>Incorrect answer response</label><br>
<textarea id="incorrect" name="incorrect" rows="7" cols="20"></textarea>*<br>
<label>Feedback response</label><br>
<textarea id="feedback" name="feedback" rows="7" cols="20"></textarea>*<br>
<label>Lesson refferal response</label><br>
<textarea id="lessonref" name="lessonref" rows="7" cols="20"></textarea>*<br>
<input type="submit" value="submit">
</form>
这是处理脚本(db_adddata.php):
<?php
session_start(); //start sesson.
require('db_connect.php'); //connect to the database.
//assign variables with the data we posted from the form on the previous page.
$category = $_POST['category'];
$question = $_POST['question'];
$answertxt = $_POST['answertxt'];
$answer = $_POST['answer'];
$correct = $_POST['correct'];
$incorrect = $_POST['incorrect'];
$feedback = $_POST['feedback'];
$lessonref = $_POST['lessonref'];
//assign vars to session vars.
$_SESSION['category'] = $category;
$_SESSION['question'] = $question;
$_SESSION['answertxt'] = $answertxt;
$_SESSION['answer'] = $answer;
$_SESSION['correct'] = $correct;
$_SESSION['incorrect'] = $incorrect;
$_SESSION['feedback'] = $feedback;
$_SESSION['lessonref'] = $lessonref;
//check if vars are empty if yes deny and go to error page. Otherwise continue.
if(empty($category) || empty($question) || empty($answertxt) || empty($answer) || empty($correct) || empty($incorrect) || empty($feedback) || empty($lessonref)) {
$_SESSION['error'] = true; //set error as true.
header('Location: create.php'); //go back to form page.
}
else {
//add the data to the database.
mysql_query("INSERT INTO key (number, category, question, answertxt, answer, correct, incorrect, feedback, lessonref, datemod) VALUES ('','$category','$question','$answertxt','$answer','$correct','$incorrect','$feedback','$lessonref',CURDATE())")or die(mysql_error());
header('Location: viewkey.php'); // go to view key page.
}
mysql_close(); //close connection.
?>
下面是我的名为“key”的表的 MySQL 表信息:
领域 |类型 |整理 |额外
<小时/>数量|整数(6) | |自动增量(主要)
<小时/>类别| varchar(999) | varchar(999) | latin1_general_ci |
<小时/>问题| varchar(999) | varchar(999) | latin1_general_ci |
<小时/>回答txt | varchar(999) | varchar(999) | latin1_general_ci |
<小时/>回答| varchar(999) | varchar(999) | latin1_general_ci |
<小时/>正确| varchar(999) | varchar(999) | latin1_general_ci |
<小时/>不正确| varchar(999) | varchar(999) | latin1_general_ci |
<小时/>反馈| varchar(999) | varchar(999) | latin1_general_ci |
<小时/>类(class)引用 | varchar(999) | varchar(999) | latin1_general_ci |
<小时/>日期修改 |日期 | |
<小时/>最佳答案
key
是mySQL中的保留字。您需要用反引号将该表格括起来:
INSERT HIGH_PRIORITY INTO `key` ... etc
关于MySQL 语法错误从 <textarea> 插入类型 VARCHAR(999) <<< 已解决使用不正确的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756758/
我在 presto 中有表,名为(“mappings”)的列将键值对作为字符串 从 hello 中选择映射; 例如:{“foo”:“baar”,“foo1”:“bar1”} 我想将“映射”列转换为 M
我总是会在表格的特定列中输入 20 个字符的内容。 我需要此列是唯一的。 如果我将此列设置为 varchar(255) 而不是 varchar(20),SELECT 查询的速度会有任何差异吗? (输入
我在 the Dapper .NET project home page 上发现了以下评论. Dapper supports varchar params, if you are executing
我有以下代码。 Case 语句将列出的数字转换为文本并将其余代码转换为 NULL,但我不断收到以下错误:将 VARCHAR 值“RDG5”转换为数据类型 INT 时转换失败。 RDG5 是被转换为 N
运行此脚本时出现以下错误。我尝试过使用以下内容:整理 Latin1_General_CI_AS。请问可以排序吗?谢谢 Msg 457, Level 16, State 1, Line 8 Implic
是否可以将 SQL Server 2008 数据库中的列类型从 varchar(255) 更改为 varchar(MAX),而无需删除表并重新创建? 每次我尝试使用它来执行此操作时,SQL Serve
每次我对选择 varchar(max) 或 varchar(fix) 数据类型感到困惑。假设我有一个大约 5000 个 varchar 的数据列。列不是 null 类型。 我应该将其设置为 varch
您好,我遇到问题,我的 friend 拒绝更改字段的数据类型,所以我在使用 order by 时遇到问题,这里是示例数据 04-07-2016(mm-dd-yyyy) 和字段名称名为 regis_da
对于文字游戏,我正在尝试向 VARCHAR 数组添加 CHECK 约束: CREATE TABLE words_games ( gid SERIAL PRIMARY KEY,
我有一个 varchar 字段,其内容如下: a,b,c,d e,d,a,c b,q,d,e 我需要执行一个查询,仅选择具有与输入字符串相等的元素的字段的行。 前输入:c,a 选择的行: a,b,c,
大家好,我计划创建包含 10 列的表,该表应该至少有 10,000,000 行,并且在其中,我将有列 description - VARCHAR(600) 和索引。 所以问题是,在该列上查询 LIKE
我读过这个question关于MySQL中VARCHAR(254)和VARCHAR(255)的区别。 HiveQL 中是否有必须考虑的类似内容?也许 HiveQL 实现了一些类似于 MySQL 的存储
在 MySQL 中,VARCHAR(1024) 和 VARCHAR(512) 有什么区别?如果我的项目永远不会超过 512 个字符,那么使用 VARCHAR(1024) 我会失去什么? 最佳答案 不知
由于 Varchar 字段的存储要求基于输入的字符串的实际长度,将每个 Varchar 字段指定为最大可能的缺点是什么:Varchar (65535)?那么,除了最大字段 > 255 个字符的 1 个
我正在尝试搜索具有数据类型 map(varchar,varchar) 的列。现在访问列的一种方法是使用这个结构,name_of_column[' key '],它将给出该键的值。但我想知道什么是可能的
快速提问。如果我将使用十进制字段限制或十六进制(比如 16、32、64 而不是 10、20、50),从存储数据的角度来看是否重要? 我问是因为我想知道这是否与 HDD 上的集群有关? 谢谢! 最佳答案
我发现我可以写 SELECT CAST(Min(mynumber) AS VARCHAR(Max))+'mystring' AS X 作为 SELECT CAST(Min(mynumber) AS V
我必须将字符串“johnmelling”值插入到列为 的表中[用户密码] varbinary NOT NULL。 请有人建议我,插入“johnmelling”的最佳转换是什么? 我尝试插入如下, In
我已经在 MSDN 论坛和此处阅读了此内容,但仍然不清楚。我认为这是正确的: Varchar(max) 将存储为文本数据类型,因此有缺点。假设您的字段可靠地少于 8000 个字符。就像我的数据库表中的
我有一个这样描述的表: mysql> describe easy_table; +---------------------+--------------+------+-----+---------
我是一名优秀的程序员,十分优秀!