-1

我正在使用 php,mysql。当我从 mysql 数据库获取数据到文本框进行更新时,只有一半的数据被发送,例如,如果一个学生的名字是“john doe”,在我查询数据库并将值设置为来自 PHP 的文本框之后,只有“约翰”出现在文本框中。

什么会导致这个问题,我无法检测到。

在数据库中,名称完全存储。

这是php脚本

编辑:

$srch = mysql_escape_string($_REQUEST['srch']);

$query = mysql_query("select * from X where htno='$srch' or studname like '%$srch%' ");
$row = mysql_fetch_array($query);
$data = "";

if($row){

$data .= '<table border="0" class="data_display">
<tr>
<th>HAll Ticket No:</th><th>Category</th><th>Centercode</th>
</tr>
<tr>
<td>'.$row['htno'].'<input type="hidden" id="htno" value="'.$row['htno'].'" /></td><td>'.$row['category'].'</td><td>'.$row['centercode'].'</td>
</tr>
<tr>
<th>Student Name</th><th>Center name</th><th>Student code</th><th>Score</th>
</tr>
<tr>
<td><input type="text" class="scoretxt" id="category" value='.$row['studname'].'/></td><td>'.$row['centername'].'</td><td>'.$row['studentcode'].'</td>
<td></tr>
</table>; }

任何帮助表示赞赏。肿瘤坏死因子

4

2 回答 2

2

您缺少学生姓名周围的引号。

<input type="text" class="scoretxt" id="category" value='.$row['studname'].'/>

正在生成<input type="text" class="scoretxt" id="category" value=John Doe />,仅显示为“John”。

它应该是

<input type="text" class="scoretxt" id="category" value="'.$row['studname'].'"/>

生产<input type="text" class="scoretxt" id="category" value="John Doe" />

HTML 非常宽容,所以像这样的小东西很难捕捉到。

于 2012-06-24T11:09:08.567 回答
0

恐怕这段代码没有与您的问题相关的问题(尽管它有 SQL 注入和 XSS 漏洞)。您需要的称为调试。首先检查问题是否不在 MySQL 的返回中(使用 var_dump($row)),如果一切正确,则假设问题在之后,否则 - 在之前。使用 var_dump() 并检查可能影响学生姓名的地方。我在这段代码中没有看到任何其他代码,所以我认为如果 $row 没问题,这部分会起作用。

于 2012-06-24T10:53:20.923 回答