PHP编辑数据库中的数据

时间:2013-08-28 03:39:13

标签: php mysql

我正在尝试在更新前编辑数据库。首先我尝试使用echo编辑数据库之后,我想在同一个表中更新所需的字段。请在下面找到我的代码....  请帮助...我需要从数据库患者中获取值,并需要在同一个表中更新....

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

    <head>
        <title>Form Edit Data</title>
    </head>

    <body>
        <table border=1>
            <tr>
                <td align=center>MODIFY PATIENT DATA</td>
            </tr>
            <tr>
                <td>
                    <table>
                        <? include "db.php";//database connection $pid=$_POST[ 'pid']; $name=$_POST[
                        'name']; $age=$_POST[ 'age']; $sex=$_POST[ 'sex']; $mobileno=$_POST[
                        'mobileno']; $vaccine=$_POST[ 'vaccine']; $diagno=$_POST[ 'diagno']; $fee=$_POST[
                        'fee']; $order=s printf( "SELECT * FROM `hms`.`patient` WHERE pid='%s'", mysql_real_escape_string($pid));
                        $result=m ysql_query($order); if (!$result) die( 'Error: (' . mysql_errno()
                        . ') ' . mysql_error()); $row=m ysql_fetch_assoc($result); ?>
                        <form method="post" action="update1.php">
                            <table style=" border:5px solid silver" cellpadding="10px" cellspacing="10px"
                            align="center" border="0">
                                <tr>
                                    <td colspan="4" style="background:#0066FF; color:#FFFFFF; fontsize:20px">PATIENT DETAILS</td>
                                </tr>
                                <tr>
                                    <td>Patient Name</td>
                                    <td>
                                        <input type="text" name="name" size="20" value=<?php echo $row[ 'name'];
                                        ?>
                                    </td>
                                </tr>
                                <tr>
                                    <td>Patient ID</td>
                                    <td>
                                        <input type="text" name="pid" size="20" value=<?php echo $row[ 'pid'];
                                        ?>
                                    </td>
                                </tr>
                                <tr>
                                    <td>Age</td>
                                    <td>
                                        <input type="text" name="age" size="10" value=<?php echo $row[ 'age'];
                                        ?>
                                    </td>
                                </tr>
                                <tr>
                                    <td>Sex</td>
                                    <td>
                                        <input type="text" name="sex" size="20" value=<?php echo $row[ 'sex'];
                                        ?>?>">
                                        <tr>
                                            <td>Mobile No.</td>
                                            <td>
                                                <input type="text" name="mobileno" size="20" value=<?php echo $row[
                                                'mobileno']; ?>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>Diagnosis</td>
                                            <td>
                                                <input type="text" name="diagno" size="40" value=<?php echo $row[
                                                'diagno']; ?>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>Vaccine</td>
                                            <td>
                                                <input type="text" name="vaccine" size="20" value=<?php echo $row[
                                                'vaccine']; ?>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>Fee Received</td>
                                            <td>
                                                <input type="text" name="fee" size="20" value=<?php echo $row[ 'fee'];
                                                ?>
                                                <tr>
                                                    <td align="right">
                                                        <input type="submit" name="submit value" value="UPDATE">
                                                    </td>
                                                </tr>
                        </form>
                        </table>
                        </td>
                        </tr>
                    </table>
    </body>

</html>

我的表格显示的是这样的值:

Patient Name <? echo   ">
Patient ID   <? echo   ">
.
.
.
.
Fee Received <? echo    ">

显示<? echo ">我尝试使用<?php echo ">,但却出错...

1 个答案:

答案 0 :(得分:2)

更改所有类似事件的实例:

<? echo "$row[age]"?>

到此:

<?=$row['age']?>

<?=(whatever)?>是php echo命令的简写,我做的另一个更改是删除$row[age]变量周围的引号,并将age放在引号中。这是因为age指的是db行列的名称,而不是PHP常量,因此必须使用引号才能正常工作。必须对所有其他类似的db列调用进行相同的更改。

编辑:由于您的服务器似乎已禁用短标记,而不是使用短回显(<?=$val?>),因此您需要使用<?php echo $val ?> AND 更改每个实例<?<?php。我相信正在发生的事情是db代码没有执行,这意味着你的$row变量永远不会被实例化以回应给用户。

此外,正如其他人所指出的那样,mysql_*函数已被弃用且不再受支持。您应该切换到mysqli_*函数或PDO,以确保您的代码不会因php软件更新而停止工作。