2014-02-13 164 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