我有一个简单的例子,我似乎无法解决错误。我有一个简单的表单,我将数据发送到我的数据库
这是表格:
<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>
答案 0 :(得分:1)
问题出在这里
$res = mysql_query( 'SELECT `*` FROM `student` WHERE `idStudent` LIKE \'%'.$var.'%\' ' );
它应该是:
$res = mysql_query( "SELECT * FROM `student` WHERE `idStudent` = ".$var);
我认为现在它会起作用。
虽然这不是查询服务器的正确方法,但对于初学者来说它可以很方便。