我的SQL查询有什么问题,因为它不起作用?

时间:2012-09-04 11:50:00

标签: php sql

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

$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>";

4 个答案:

答案 0 :(得分:7)

我愿意打赌,至少其中一些变量是字符串 - 您需要将其封装在这样的引号中:

$sql="UPDATE profiles SET
bedrijfsslogan = '".$bedrijfsslogan."',
bedrijfsomschrijving = ".$bedrijfsomschrijving."....

假设第一个变量是您尝试保存的字符串。

就此而言,如果您转移到PDO,那么对您的代码来说可能会很棒 - 它更安全,更安全,您可以使用它做更多事情

答案 1 :(得分:2)

我认为问题是必须在SQL语句中引用字符串... 类似......

fax = '".$fax."',
    email = '".$email."',

ecc ecc

答案 2 :(得分:0)

代替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返回的错误。 它通常会指出你的问题所在。

答案 3 :(得分:0)

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