3

次のテーブル 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 構文にエラーがあります。'descr, start, end) VALUES ('Task 1','This is a task. This is only a task. This ' at line 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>

フォーマットの問題だと思います。誰でも助けることができますか?

4

1 に答える 1

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;
}
于 2012-12-16T02:48:18.280 に答える