我的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."'");
}
答案 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'."