好的,所以我正在制作一款游戏,并希望它是用户有大量的图像可供选择。我在数据库中有一个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但它不是让我发表表格和表格?
答案 0 :(得分:0)
运行mysql_query后需要检查数据库错误;类似的东西:
if (mysql_errno()) { die(mysql_error()); }
建议不要使用mysql_函数 - php手册甚至还有一条红色的大消息告诉你不要使用它们。请改用mysqli或pdo扩展名。
您拥有的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特定问题。