【问题标题】:Mysql Update Database with radio button带有单选按钮的 Mysql 更新数据库
【发布时间】:2012-12-03 02:02:01
【问题描述】:

好的,所以我正在制作一款游戏,并希望它是用户有大量图像可供选择的图像。我在数据库中有一个列 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 但它不允许我发布表格和表格?

【问题讨论】:

标签: php html mysql forms


【解决方案1】:
  1. 运行mysql_query后需要检查数据库错误;类似:

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

  2. 完全不推荐使用 mysql_ 函数——php 手册甚至有一个很大的红色消息告诉你不要使用它们。请改用 mysqli 或 pdo 扩展。

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

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 的问题。

【讨论】:

  • $new_user_image = $_POST['new_user_image'];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-17
  • 2015-02-21
  • 2013-03-22
  • 2018-09-16
相关资源
最近更新 更多