php从mySQL db中检索数据到表单

时间:2014-04-16 16:53:51

标签: php html mysql html5

我有一个简单的例子,我似乎无法解决错误。我有一个简单的表单,我将数据发送到我的数据库

这是表格:

 <form action="selectDB.php" method="post">
<input type="text" name="studentID" />
<input type="submit" name="send" />
</form>

我使用以下代码传递php页面上的值:

<?php
if( isset($_POST['send'])){
    $var = $_POST[ 'studentID' ];
    //now you can use the var for an query to your database
    //please note: this very basic, without any security of injection
    $res = mysql_query( 'SELECT `*` FROM `student` WHERE `idStudent` LIKE \'%'.$var.'%\' ' );
    if( mysql_num_rows($res)){
        $row = mysql_fetch_assoc( $res ); //get one (first) result
    }
}

?>

<script> location.href='editRegistration.php';</script>

然后我使用上面的脚本打开其中的第3页我想将查询结果加载到其中的表单中。问题是我得到了空白的输入字段,而没有使用数据库中的数据设置。 我该如何解决这个问题? 第3页代码:

<form class="form-horizontal" id="registration" method="post" action="selectDB.php" name="send">
    <input type="text" name="studentID"  align= "right" class="textbox" value="<?php isset( $row[ '0' ] ) ? $row[ 'idStudent' ] : '' ?>" />  <span id="errorID"></span> <br/>  
</form>

1 个答案:

答案 0 :(得分:1)

问题出在这里

$res = mysql_query( 'SELECT `*` FROM `student` WHERE `idStudent` LIKE \'%'.$var.'%\' ' );

它应该是:

$res = mysql_query( "SELECT * FROM `student` WHERE `idStudent` = ".$var);

我认为现在它会起作用。

虽然这不是查询服务器的正确方法,但对于初学者来说它可以很方便。