在我的页面顶部,我连接到我的数据库,连接没有任何问题,因为我可以轻松地显示表中的数据。现在我在页面的末尾有一个按钮,它应该是编辑这个表中的数据。但是,数据没有更新?我不知道为什么不,这段代码有什么问题吗?谢谢(顺便说一句:回声显示得很好!)
$sql="UPDATE profiles SET
bedrijfsslogan = ".$bedrijfsslogan.",
bedrijfsomschrijving = ".$bedrijfsomschrijving.",
bedrijfsspecialiteiten = ".$bedrijfsspecialiteiten.",
bedrijfsgeschiedenis = ".$bedrijfsgeschiedenis.",
openingstijden = ".$openingstijden.",
telefoonnummer = ".$telefoonnummer.",
fax = ".$fax.",
email = ".$email.",
website = ".$website.",
twitter = ".$twitter.",
facebook = ".$facebook.",
youtube = ".$youtube.",
linkedin = ".$linkedin.",
subrubrieken = ".$subrubriekenresult.",
merken = ".$merkenresult.",
brancheverenigingen = ".$brancheverenigingenresult."
WHERE kvk = ".$kvkvariable."";
mysql_query($sql);
echo "<font color='"red'" size='"3'"><br />Profiel succesvol bijgewerkt!<br /></font>";
我敢打赌,这些变量中至少有一些是字符串——你需要用这样的引号封装:
$sql="UPDATE profiles SET
bedrijfsslogan = '".$bedrijfsslogan."',
bedrijfsomschrijving = ".$bedrijfsomschrijving."....
假设第一个变量是要保存的字符串。
在这一点上,如果你真的迁移到PDO,这对你的代码来说可能是一件很棒的事情——它更安全,更安全,你可以用它做更多的事情。
我认为问题在于SQL语句中必须引用字符串。。。像。。。
fax = '".$fax."',
email = '".$email."',
ecc ecc
不用mysql_query($sql);
,试试这个:
if (!mysql_query($sql)) {
//there was an error
echo mysql_error();
} else {
//everything went ok. Show success message.
echo "Update successful.";
}
这应该会输出MySQL返回的错误。它通常会向您指出问题所在。
Always Use the **mysql_error()** function to track down the error
$sql="UPDATE profiles SET
bedrijfsslogan = ".$bedrijfsslogan.",
bedrijfsomschrijving = ".$bedrijfsomschrijving.",
bedrijfsspecialiteiten = ".$bedrijfsspecialiteiten.",
bedrijfsgeschiedenis = ".$bedrijfsgeschiedenis.",
openingstijden = ".$openingstijden.",
telefoonnummer = ".$telefoonnummer.",
fax = ".$fax.",
email = ".$email.",
website = ".$website.",
twitter = ".$twitter.",
facebook = ".$facebook.",
youtube = ".$youtube.",
linkedin = ".$linkedin.",
subrubrieken = ".$subrubriekenresult.",
merken = ".$merkenresult.",
brancheverenigingen = ".$brancheverenigingenresult."
WHERE kvk = ".$kvkvariable."";
mysql_query($sql) or die(mysql_error());
This will tell what is the error in your query :)