2014-02-13 122 views
0

我是新来的,我想问一个简单的问题给大家,因为我是PHP的初学者。 我在MySQL数据库中创建了一个名为id,stuimg,stuname,studetail的4列表。 我也创建了一个页面,通过它将值和图像存储到这些列中。现在我的问题是,我怎么可以检索存储在这些列中的所有这些信息,并在页面上显示它(包括图片)通过Mysql数据库显示信息

你可以检查我的代码,并请纠正我是否做错了什么:

<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

一定要使用mysqli的功能。 http://www.php.net/manual/en/mysqli.quickstart.connections.php – Newbi3

+0

你上面的代码工作正常吗? –

+0

我已经将dbconfig.php包含到上面包含mysql连接的代码中。 – srp003j

回答

0

首先,你直接将变量从$ _GET传递给SQL查询,这是巨大的安全问题!见this post或至少使用mysql_real_escape_string()这样的:

$query = "SELECT * FROM aboutstudent where id ='" . mysql_real_escape_string($p) . "';"; 

接下来,如果你dbconfig.php包含正确credentilas并连接到数据库,你的代码看起来很好,除了$_FILES['image']['name'],其中只包含在输入文件submited数据。接下来,您不能为input type='file'设置默认值。如果您的图像保存在数据库中,请使用简单的$data['image'];,否则提供更多信息。

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循环

它意味着写出来的while循环

1

您正尝试在未设置id变量的情况下发布到新页面。

+0

你能通过这个帮我吗? – srp003j

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> 
+0

​​

+0

非常感谢@Sagar – srp003j

+0

@ srp003j,它令我高兴:) – SagarPPanchal