这个MySQL的语法很有用,有时它很有效,有时它不会...(严重)

时间:2011-02-24 22:49:28

标签: php mysql

检查出来:

if (isset($_POST['username'])) { 
    $username = $_POST['username'];
}

$connect = mysql_connect("localhost", "root", "");
mysql_select_db("TagDB");

$query = mysql_query("UPDATE friendtable SET state = '1' 
    WHERE (userB = '$username' AND state = '0')");

这应该只是更新一个表,以便为userB列包含已发布的用户名的每个实例显示状态1。但是,这只会有效。在不改变任何代码的情况下,这种方法有时会应该如此,有时则无效。奇怪。

if (isset($_POST['state'])) {
    $state = $_POST['state'];
}

if (isset($_POST['username'])) {
    $username = $_POST['username'];
}

if (isset($_POST['frienduser'])) {
    $frienduser = $_POST['frienduser'];
}

$connect = mysql_connect("localhost", "root", "");
mysql_select_db("TagDB");

$query = mysql_query("UPDATE friendtable SET state = '$state' WHERE (userA = '$frienduser' AND userB = '$username')");

这也是一样的。有时它完美,有时则没有变化。我不知道会有什么不同。我唯一的领导是我有时会通过phpmyadmin手动更改MySQL中的值来测试一些东西。可能会因为我手动输入一些值而感到困惑吗?我不这么认为,但这是我唯一的领先优势。如果您有时间,请查看代码并查看是否可以发现可能导致此奇怪问题的任何内容。谢谢。

1 个答案:

答案 0 :(得分:1)

我是一个完全白痴。我发布这个作为答案,以帮助任何可能遇到这个问题的人。基本上,我会将状态更改为0以检查各种输入是否有效。然后,我会刷新页面,看看在输入后状态是否发生了变化。但是,当刷新页面时,它刷新了我以前的mysql请求....将状态设置为0.所以通过刷新我真的在撤消我刚才所做的事情。很抱歉打扰你们这一切,但希望这篇文章将来会为别人服务。谢谢!