我正在尝试在更新前编辑数据库。首先我尝试使用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 ">
,但却出错...
答案 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软件更新而停止工作。