PHP编辑数据库中的数据


PHP editing data from the database

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

<!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 ">,但出现错误。。。。

更改以下内容的所有实例:

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

到此:

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

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

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

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