dongwo1914 2010-07-20 05:53
浏览 16
已采纳

更新数据库中的记录

guys, i have these codes for updating the records in the database.

please.. check if these is correct?

<?php
session_start(); 
include "db.php"; 

$username = $_SESSION['username'];


$query="SELECT * FROM members where username='".mysql_real_escape_string($username)."'";

$result=mysql_query($query);
$num=mysql_numrows($result);

mysql_close();


$userid             =mysql_result($result,$i, 'userid');
$firstname          =mysql_result($result,$i,'firstname');
$lastname           =mysql_result($result,$i,'lastname');
$username           =mysql_result($result,$i,'username');
$email              =mysql_result($result,$i,'email');
$age                =mysql_result($result,$i,'age');
?>

<form action="update.php" method="post">
<input type="hidden" name="u_userid" value="<? echo "$userid" ?>">
<table>
<tr><td>ID:</td> <td><? echo "$userid"?></td></tr>
<tr><td>First Name:</td> <td> <input type="text" name="u_firstname" value="<? echo "$firstname"?>"></td></tr>
<tr><td>Last Name: </td> <td><input type="text" name="u_lastname" value="<? echo "$lastname"?>"></td></tr>
<tr><td>Username:</td> <td> <input type="text" name="u_username" value="<? echo "$username"?>"></td></tr>
<tr><td>Email:</td> <td> <input type="text" name="u_email" value="<? echo "$email"?>"></td></tr>
<tr><td>Age: </td> <td><input type="text" name="u_age" value="<? echo "$age"?>"></td></tr>
<tr><td></td><td><input type="Submit" value="Update Info">
</td></tr>
</form>
<tr><td></td><td><form action="form2.html" method="post">
<input type="submit" value="Cancel"></form></td></tr>
</table

and in update.php

<?php
session_start(); 
include "db.php"; 

$userid             =mysql_result($result, 'userid');
$firstname          =mysql_result($result, 'firstname');
$lastname           =mysql_result($result, 'lastname');
$username           =mysql_result($result, 'username');
$email              =mysql_result($result, 'email');
$age                =mysql_result($result, 'age');

include "db.php"; 

$query="UPDATE members SET firstname='$u_firstname' , lastname='$u_lastname', username='$u_username' , email='$u_email', age='$u_age' ";

$result=mysql_query($query);


mysql_close();

echo "Record Updated
 <br><br>

<form action=\"form2.html\" >
<input type=\"submit\" value=\"ok!\" />
</form>
";

?>

actually it shows a lot of errors/warning like this

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\web\htdocs\salome\this\update.php on line 7

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\web\htdocs\salome\this\update.php on line 8

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\web\htdocs\salome\this\update.php on line 9

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\web\htdocs\salome\this\update.php on line 10

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\web\htdocs\salome\this\update.php on line 11

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\web\htdocs\salome\this\update.php on line 12

WHAT WILL I DO..

please help me... :-(

  • 写回答

2条回答 默认 最新

  • dov6891 2010-07-20 06:03
    关注

    You are trying to get a result from the database (but even without executing a query) while you have to use edited data from the form via $_POST array

    <?php
    session_start(); 
    include "db.php"; 
    
    $user_id   = mysql_real_escape_string($_SESSION['userid']);
    
    $firstname = mysql_real_escape_string($_POST['u_firstname']);
    $lastname  = mysql_real_escape_string($_POST['u_lastname']);
    $lastname  = mysql_real_escape_string($_POST['u_lastname']);
    $username  = mysql_real_escape_string($_POST['u_username']);
    $email     = mysql_real_escape_string($_POST['u_email']);
    $age       = mysql_real_escape_string($_POST['u_age']);
    //etc
    
    $query     = "UPDATE members SET firstname='$firstname', lastname='$lastname',
                                 username='$username' , email='$email', age='$age' 
                  WHERE userid = '$user_id'";
    
    $result    = mysql_query($query) or trigger_error(mysql_error().$query);
    

    Note that user identification should come from a SESSION, not FORM
    And you should never edit user id.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c