为什么我不能更新mysql表?

时间:2016-12-19 03:21:24

标签: php sql updating

我的sql表没有更新。我查看了大量文档,但我不明白为什么它不起作用。

if (!empty($_POST['services'])){
    $username = mysql_real_escape_string($_POST['username']);
    $service = mysql_real_escape_string($_POST['services']);
    $registerquery = mysql_query("UPDATE users SET service = '".$service."' WHERE Username = '".username."'");
}

4 个答案:

答案 0 :(得分:0)

请更新您的代码以使用PDO。使用预准备语句,插入数据库可以更容易,更安全。

例如:

<?php
    $stmt = $db->prepare("UPDATE `users` SET `services`=:service WHERE `username`=:username");
    $stmt->execute(array(':username' => $username, ':service' => $service));
?>

在学习PDO的基础知识时,这是一个很好的资源。 http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

有一个好人! - 斯科特

答案 1 :(得分:0)

我的错误是我写的:$registerquery = mysql_query("UPDATE users SET service = '".$service."' WHERE Username = '".username."'");我错过了服务中的$s。要纠正这个问题:$registerquery = mysql_query("UPDATE users SET services = '".$service."' WHERE Username = '".$username."'");谢谢大家的帮助。昨晚我提交了另一个答案说我发现了错误。

答案 2 :(得分:-1)

我试图关闭这两次。我所要做的就是在update命令的“service”末尾添加一个“s”。我忽略了它与表中所要求的字段不匹配的事实。

答案 3 :(得分:-1)

请像这样替换并执行。

"The namespace 'http://www.fixprotocol.org/FIXML-5-0-SP2/METADATA'
provided differs from the schema's targetNamespace
'http://www.fixprotocol.org/FIXML-5-0-SP2'."