MySQL不会接受带有varchar,tinytext,time,time值的INSERT INTO表

时间:2012-12-16 01:58:05

标签: php html mysql

当我尝试将数据输入到下表my_table:

时,MySQL会出错
my_table
Columns | data type:
Task    | varchar(20) (primary key)
Descr   | tinytext
start   | time
end     | time

my_table字符集是utf8

我正在尝试从PHP文件中将值插入表中:

<?php

mysql_connect("localhost", "admin", "passwd") or die(mysql_error());
mysql_select_db("my_table") or die(mysql_error());

$task = $_POST["taskname"];
$descr = $_POST["taskdesc"];
$start = $_POST["starttime"];
$end = $_POST["endtime"];

$insert = "INSERT INTO tasks (task, descr, start, end) 
VALUES ('$task','$descr','$start','$end')";

mysql_query($insert) or die(mysql_error());
mysql_close();

?>

我收到以下错误:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在'descr,start,end'附近使用正确的语法VALUES('任务1','这是一项任务。这只是一项任务。这是'第1行

以下是提供输入的html:

<form id="taskentry" method="post" action="create-task.php">
<ul>
    <li><input type="text" name="taskname" placeholder="Task Name"/></li>
    <li><textarea form="taskentry" name="taskdesc" placeholder="Description" rows="5"></textarea></li>
    <li><input type="time" name="starttime"></li>
    <li><input type="time" name="endtime"></li>
    <li class="naked"><input type="submit" name="Save" value="Submit Task" /></li>
</ul>
</form>

我怀疑这是格式问题。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

尝试使用mysql命令提示符插入数据,如果可行,则尝试检查您的表单数据是否已提交到您的操作php页面。你可以编写一个代码来测试

if(isset($_POST["taskname"]) && isset($_POST["taskdesc"]) && isset($_POST["starttime"]) && isset($_POST["endtime"]))
{
$task = $_POST["taskname"];
$descr = $_POST["taskdesc"];
$start = $_POST["starttime"];
$end = $_POST["endtime"];
echo $task."<br />".$descr."<br />".$start."<br />".$end;
}