douren7179
2014-04-16 16:53
浏览 41
已采纳

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

I have a simple example and I can't seem to make what's wrong. I have a simple form in which I'm sending data to my db

this is the form:

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

I'm passing the value on the php page with this code:

<?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>

then I'm using the script above to open the 3rd page in it I want to load the query result to the form in it. the problem is that I'm getting blank input fields and not set with the data from the db. How do I fix the problem? the 3rd page code:

<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条回答 默认 最新

  • duanan1946 2014-04-16 17:12
    已采纳

    The problem is here

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

    it should be:

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

    i think now it will work.

    though it is not the correct way for querying the server but for a beginner it can be handy.

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题