2012-10-31 114 views
0

不知怎的,我让我的SQL错误,而试图在我的SQL数据库更新记录PHP更新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”?

+0

我想在PHP中,你必须在字符串中添加{}或在变量名称周围使用“+ $ var +”?再次看看你的$ sql字符串 –

+0

@GeneParmesan:错误的 – OptimusCrime

+0

@OptimusCrime我知道必须用sql字符串和变量来完成一些事情。显然,他们只需要单引号。 –

回答

7

字符串必须用单引号

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

被包裹,但您的查询是容易SQL Injection。请花时间阅读下面

+0

非常感谢! :d –

0

在文章中$ SQL中的变量名应该是单倒昏迷中。

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

而且,您还应该从表单标记中的html代码中删除段落标记。