Mysql更新数据库与单选按钮

时间:2012-12-03 02:02:01

标签: php html mysql forms

好的,所以我正在制作一款游戏,并希望它是用户有大量的图像可供选择。我在数据库中有一个user_image列,默认为0,如果为0,则为图像。它是0-3,每个数字是一个单独的图像。像这样......

<?php 
if ( $userp['user_image'] = 0 )
{
    echo 
    '<img src="../achievements/Silver-Bank.png" width="60" height="60" title="Change Image"">';
} 
elseif ( $userp['user_image'] = 1  )
{
    echo 
    '<img src="../achievements/Silver-Missions.png" width="60" height="60" title="Change Image"">';
}
elseif ( $userp['user_image'] = 2 )
{
    echo 
    '<img src="../achievements/Silver-Level.png" width="60" height="60" title="Change Image"">';
}
elseif ( $userp['user_image'] = 3 )
{
    echo 
    '<img src="../achievements/Diamond-Bank.png" width="60" height="60" title="Change Image"">';
}
?>

这是用户图像的显示位置。我为用户创建了一个页面,用单选按钮选择图像。这是用于更新数据库的PHP,我似乎无法使其正常工作。

<?php 
if ( isset ( $_POST['new_user_image'] ) )
{
    $sql = "UPDATE users SET user_image=(new_user_image) WHERE id='".$id."'";
    $res = mysql_query($sql);
    if (mysql_affected_rows($connect) == 1) {
        echo 'User image sucessfully changed!';
    }
    else
{
}
}
?>    

这是它的PHP而不是noobish但它不是让我发表表格和表格?

1 个答案:

答案 0 :(得分:0)

  1. 运行mysql_query后需要检查数据库错误;类似的东西:

    if (mysql_errno()) { die(mysql_error()); }

  2. 建议不要使用mysql_函数 - php手册甚至还有一条红色的大消息告诉你不要使用它们。请改用mysqli或pdo扩展名。

  3. 您拥有的SQL语句不是真正有效的SQL

  4. SET user_image=(new_user_image)

    这绝不表示您要在该列中存储变量的结果。您需要执行以下操作:

    $sql = sprintf('UPDATE users SET user_image=%d WHERE id=%d', $_POST['new_user_image'], $id);
    

    如果您不确定您的SQL,那么至少打印带有echo $sql的查询文本并检查以确保它直接针对数据库运行。您可以更轻松地获取在那里工作的任何SQL特定问题。