2014-02-17 47 views
0

我做了一個非常簡單的代碼,以表格格式從數據庫檢索數據。但它不起作用,我不知道它有什麼問題。 以下是完整的PHP代碼我使用:簡單檢索數據庫中的數據mysql php

<?php 

      $link = mysql_connect('localhost','root', ''); 
      if (!$link) { 
       die('Could not connect: ' . mysql_error()); 
      } 
      echo 'Connected successfully'; 


      $db_selected = mysql_select_db('prelimdatabse', $link); 
      if (!$db_selected) { 
       die ('Can\'t use for: '. mysql_error()); 
      } 

      $result = mysql_query("SELECT * FROM $registertable",$link); 

      echo "<table border='1'> 
      <tr> 
       <th>Username</th> 
       <th>Password</th> 
       <th>Firstname</th> 
       <th>Middlename</th> 
       <th>Lastname</th> 
       <th>Gender</th> 
       <th>Email</th> 
       <th>Month</th> 
       <th>Date</th> 
       <th>Year</th> 
      </tr>"; 

      while($row = mysql_fetch_array($result)) 
       { 
       echo "<tr>"; 
       echo "<td>" . $row['uname'] . "</td>"; 
       echo "<td>" . $row['pword'] . "</td>"; 
       echo "<td>" . $row['fname'] . "</td>"; 
       echo "<td>" . $row['mname'] . "</td>"; 
       echo "<td>" . $row['lname'] . "</td>"; 
       echo "<td>" . $row['gender'] . "</td>"; 
       echo "<td>" . $row['email'] . "</td>"; 
       echo "<td>" . $row['month'] . "</td>"; 
       echo "<td>" . $row['date'] . "</td>"; 
       echo "<td>" . $row['year'] . "</td>"; 
       echo "</tr>"; 
       } 
      echo "</table>"; 

      mysql_close($link); 
    ?> 

輸出:

Username Password Firstname Middlename Lastname Gender Email Month Date Year "; while($row = mysql_fetch_array($result)) { echo ""; echo "" . $row['uname'] . ""; echo "" . $row['pword'] . ""; echo "" . $row['fname'] . ""; echo "" . $row['mname'] . ""; echo "" . $row['lname'] . ""; echo "" . $row['gender'] . ""; echo "" . $row['email'] . ""; echo "" . $row['month'] . ""; echo "" . $row['date'] . ""; echo "" . $row['year'] . ""; echo ""; } echo ""; mysql_close($link); ?>

是的,這是代碼的結果......當它運行它只會顯示得那樣。

+0

使用mysqli_query();和mysqli_fetch_array($結果)嘗試 –

+0

我應該改變所有的MySQL到mysqli? – ChocoLover

+0

請在'mysql_connect(SOMETHING)'和'mysql_query(SOMETHING)'後面添加'OR DIE(mysql_error())'並編輯您的帖子並創建錯誤。此外,它認爲**糟糕的做法**仍然使用過時的'mysql_FUNCTIONS'而不是'mysqli'。 –

回答

1

根據您的original question/initial post,你的問題是與查詢,你有鏈路標識符$con查詢之前

$result = mysql_query($con,"SELECT * FROM registertable"); 

如果您檢查手冊mysql_query()應該

$result = mysql_query("SELECT * FROM registertable",$con); 

那據說,mysql_ *函數都被棄用,你不應該花時間寫新代碼或學習如何使用已棄用的函數。學習使用mysqli_*PDO代替

+0

不行,問題不在你指出的查詢代碼中。感謝您指出正確的編碼。 – ChocoLover

+0

您需要提供更多關於什麼是「不能正常工作」的信息,因爲這是唯一明顯的錯誤 – Anigel

+0

這是我的代碼的結果,當我運行它時,字面上會顯示這個結果。 用戶名密碼名字中間名姓氏性別電子郵件月份日期年份「; while($ row = mysql_fetch_array($ result)){echo」「; echo」「。$ row ['uname']。」「; echo」「。$行['pword']。「」; echo「」。$ row ['fname']。「」; echo「」。$ row ['mname']。「」; echo「」。$ row ['lname' ]。「」; echo「」。$ row ['gender']。「」; echo「」。$ row ['email']。「」; echo「」。$ row ['month']。「」; echo「」。$ row ['date']。「」; echo「」。$ row ['year']。「」; echo「」;} echo「」; mysql_close($ con);?> – ChocoLover