我是新来的,我想向大家提一个简单的问题,因为我是PHP的初学者。 我在MySQL数据库中创建了一个表,其中有4列名为id,stuimg,stuname,studetail。 我也创建了一个页面,通过它可以将值和图像存储到这些列中。现在我的问题是如何检索存储在这些列中的所有这些信息并将其显示在页面上(包括图像)
你可以查看我的代码,如果我做错了,请纠正:
<html>
<body>
<form action="" method="post">
<table>
<?php
$p=$_GET['id'];
include('dbconfig.php');
$query = "SELECT * FROM aboutstudent where id ='$p'";
$result = mysql_query($query);
while ($data = mysql_fetch_array($result))
{
?>
<tr>
<td>Image*:</td>
<td><input name="image" type="file" value="<?php echo $_FILES['image']['name'];?>" /> </td>
</tr>
<tr>
<td>Name*:</td>
<td><input name="name" type="text" value="<?php echo $data['name'];?>" /> </td>
</tr>
<tr>
<td>Description*:</td>
<td><input name="des" type="textarea" value="<?php echo $data['description'];?>" /> </td>
</tr>
<?php } ?>
</table>
</form>
</body>
答案 0 :(得分:1)
您尝试在没有设置id变量的情况下发布到新页面。
答案 1 :(得分:0)
<input name="image" type="file" value="<?php echo $_FILES['image']['name'];?>" />
replace it
<img src = "<?php $data['image']; ?>"> <!-- give full path where image is store -->
并在循环时删除表单
表示将其写出while循环
答案 2 :(得分:0)
首先,您是从$ _GET直接将变量传递给SQL查询,这是 HUGE 安全问题!请参阅this post或至少使用mysql_real_escape_string(),如下所示:
$query = "SELECT * FROM aboutstudent where id ='" . mysql_real_escape_string($p) . "';";
接下来,如果您的dbconfig.php
包含正确的凭证并将您连接到数据库,那么您的代码看起来很好,除了$_FILES['image']['name']
,其中只有在提交输入文件时才包含数据。接下来,您无法为input type='file'
设置默认值。如果您将图像保存在数据库中,请使用简单的$data['image'];
,否则请提供更多信息。
答案 3 :(得分:0)
我已经实现了您的代码,这样可以正常使用
<html>
<body>
<table>
<?php
$p=$_GET['id'];
include('dbconfig.php');
$query = "SELECT * FROM aboutstudent where id ='$p'";
$result = mysql_query($query);
while ($data = mysql_fetch_array($result))
{
?>
<tr>
<td>Image*:</td>
<td><img src="<?php echo $_FILES['image']['name'];?>"/></td>
</tr>
<tr>
<td>Name*:</td>
<td><input name="name" type="text" value="<?php echo $data['name'];?>" /></td>
</tr>
<tr>
<td>Description*:</td>
<td><input name="des" type="textarea" value="<?php echo $data['description'];?>" />
</td>
</tr>
</table>
<?php }?>
</body>
</html>