什么';我的SQL查询有问题,因为它';It’不起作用


What's wrong with my SQL query since it's not working?

在我的页面顶部,我连接到我的数据库,连接没有任何问题,因为我可以轻松地显示表中的数据。现在我在页面的末尾有一个按钮,它应该是编辑这个表中的数据。但是,数据没有更新?我不知道为什么不,这段代码有什么问题吗?谢谢(顺便说一句:回声显示得很好!)

$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 :)