0

どういうわけか、SQLデータベースのレコードを更新しようとしているときにSQLエラーが発生します

これが私の現在のコードです

htmlフォーム:

<html>
<head>
<title>title here</title>
</head>
<body>
<form action="end.php" method="POST">
<input type="text" id="comment" name="comment" placeholder="Kommentar"><p>
<input type="submit" value="Stop arbejde">
</form>
</body>
</html>

end.php

<?php
$host="localhost";
$username="root";
$password="password";
$db_name="db";
$tbl_name="log";

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$comment=$_POST['comment'];
$datetime=date("y/m/d H:i:s");
$editit=date("W/D");

$sql="UPDATE log SET end=$datetime, comment=$comment WHERE editid='$editit'";
$result=mysql_query($sql);

if($result){
echo "Successful<BR>";
}
else {
echo "Fejl";
}
mysql_close();
?>

「Fejl」というエラーが表示されたので、何が間違っているのでしょうか。

4

2 に答える 2

7

文字列は一重引用符で囲む必要があります

$sql="UPDATE log SET end='$datetime', comment='$comment' WHERE editid='$editit'";

ただし、クエリはになりがちSQL Injectionです。以下の記事をお読みください。

于 2012-10-31T17:13:55.423 に答える
0

$ sqlの変数名は、単一の反転コマ内にある必要があります。

$sql="UPDATE log SET end='$datetime', comment='$comment' WHERE editid='$editit'";

また、フォームタグのhtmlコードから段落タグを削除する必要があります。

于 2012-10-31T17:20:47.800 に答える