извлекать данные из db и отображать их в таблице в php .. см. этот код, что с ним не так?

$db = mysql_connect("localhost", "root", ""); $er = mysql_select_db("ram"); $query = "insert into names values('$name','$add1','$add2','$mail')"; $result = mysql_query($query); print "<p> Person's Information Inserted </p>"; $result = mysql_query("SELECT * FROM names"); ?> <table border="2"> <tr> <th>Name</th> <th>Address Line 1</th> <th>Address Line 2 </th> <th>E-mail Id </th> </tr> <? while ($array = mysql_fetch_row($result)); { print "<tr> <td>"; echo $array[0]; print "</td> <td>"; echo $array[1]; print "</td> <td>"; echo $array[2]; print "</td> <td>"; echo $array[3]; print "</td> </tr>"; } ?> 

Попробуй это:

 <?php # Init the MySQL Connection if( !( $db = mysql_connect( 'localhost' , 'root' , '' ) ) ) die( 'Failed to connect to MySQL Database Server - #'.mysql_errno().': '.mysql_error(); if( !mysql_select_db( 'ram' ) ) die( 'Connected to Server, but Failed to Connect to Database - #'.mysql_errno().': '.mysql_error(); # Prepare the INSERT Query $insertTPL = 'INSERT INTO `name` VALUES( "%s" , "%s" , "%s" , "%s" )'; $insertSQL = sprintf( $insertTPL , mysql_real_escape_string( $name ) , mysql_real_escape_string( $add1 ) , mysql_real_escape_string( $add2 ) , mysql_real_escape_string( $mail ) ); # Execute the INSERT Query if( !( $insertRes = mysql_query( $insertSQL ) ) ){ echo '<p>Insert of Row into Database Failed - #'.mysql_errno().': '.mysql_error().'</p>'; }else{ echo '<p>Person\'s Information Inserted</p>' } # Prepare the SELECT Query $selectSQL = 'SELECT * FROM `names`'; # Execute the SELECT Query if( !( $selectRes = mysql_query( $selectSQL ) ) ){ echo 'Retrieval of data from Database Failed - #'.mysql_errno().': '.mysql_error(); }else{ ?> <table border="2"> <thead> <tr> <th>Name</th> <th>Address Line 1</th> <th>Address Line 2</th> <th>Email Id</th> </tr> </thead> <tbody> <?php if( mysql_num_rows( $selectRes )==0 ){ echo '<tr><td colspan="4">No Rows Returned</td></tr>'; }else{ while( $row = mysql_fetch_assoc( $selectRes ) ){ echo "<tr><td>{$row['name']}</td><td>{$row['addr1']}</td><td>{$row['addr2']}</td><td>{$row['mail']}</td></tr>\n"; } } ?> </tbody> </table> <?php } ?> 

Примечания, предостережения и предостережения

Ваше первоначальное решение не показывало каких-либо очевидных santisation значений перед передачей их в базу данных. Именно так происходят атаки SQL Injection (или даже непреднамеренные ошибки, передаваемые через SQL). Не делай этого!

У вашей базы данных нет первичного ключа. Несмотря на то, что они не являются технически необходимыми во всех случаях использования, они являются хорошей практикой и обеспечивают более надежный способ обращения к определенной строке в таблице, будь то для добавления связанных таблиц или для внесения изменений в эту таблицу.

Вы должны проверять каждое действие на каждом этапе за ошибки. Большинство функций PHP достаточно хороши, чтобы получить ответ, который они возвратят при условии ошибки. Это ваша работа, чтобы проверить эти условия, когда вы идете – никогда не предполагайте, что PHP будет делать то, что вы ожидаете, как вы ожидаете, и в том порядке, в котором вы ожидаете. Вот как случилось …

Мой приведенный выше код содержит много точек, где, если произошла ошибка, сообщение будет возвращено. Попробуйте, посмотрите, сообщаются ли какие-либо сообщения об ошибках, посмотрите сообщение об ошибке и, если применимо, верните код ошибки и выполните некоторые исследования.

Удачи.

Это очень простой код, который я использую, и вы управляете им, чтобы изменить цвет и размер таблицы по своему усмотрению.

Сначала подключитесь к базе данных:

 <?php $connect=mysql_connect('localhost', 'root', 'password'); mysql_select_db("name"); //here u select the data you want to retrieve from the db $query="select * from tablename"; $result= mysql_query($query); //here you check to see if any data has been found and you define the width of the table If($result){ echo "<table width ='340' align='left'> <tr color ='#5D9951>"; $i=0; If(mysql_num_rows($result)>0) { //here you fetch the data from the database and print it in the respective columns while($i<mysql_num_fields($result)) { echo "<th>".mysql_field_name($result, $i)."</th>"; $i++; } echo "</tr>"; $color=1; while($rows=mysql_fetch_array($result, MYSQL_ASSOC)) { If ($color==1){ echo "<tr color='#'#cccccc'>"; foreach ($rows as $data){ echo "<td align='center'>".$data. "</td>"; } $color=2; } $color=1; } } else { echo"no results found"; echo "</table>"; } else { echo "error running query:".MYSQL_error(); } ?> в <?php $connect=mysql_connect('localhost', 'root', 'password'); mysql_select_db("name"); //here u select the data you want to retrieve from the db $query="select * from tablename"; $result= mysql_query($query); //here you check to see if any data has been found and you define the width of the table If($result){ echo "<table width ='340' align='left'> <tr color ='#5D9951>"; $i=0; If(mysql_num_rows($result)>0) { //here you fetch the data from the database and print it in the respective columns while($i<mysql_num_fields($result)) { echo "<th>".mysql_field_name($result, $i)."</th>"; $i++; } echo "</tr>"; $color=1; while($rows=mysql_fetch_array($result, MYSQL_ASSOC)) { If ($color==1){ echo "<tr color='#'#cccccc'>"; foreach ($rows as $data){ echo "<td align='center'>".$data. "</td>"; } $color=2; } $color=1; } } else { echo"no results found"; echo "</table>"; } else { echo "error running query:".MYSQL_error(); } ?> 

Это очень элементарный фрагмент кода, но он помогает, если вы не используете функции.

Вот общее решение html с php и соединениями с базой данных

  <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>database connections</title> </head> <body> <?php $username = "database-username"; $password = "database-password"; $host = "localhost"; $connector = mysql_connect($host,$username,$password) or die("Unable to connect"); echo "Connections are made successfully::"; $selected = mysql_select_db("test_db", $connector) or die("Unable to connect"); //execute the SQL query and return records $result = mysql_query("SELECT * FROM table_one "); ?> <table border="2" style= "background-color: #84ed86; color: #761a9b; margin: 0 auto;" > <thead> <tr> <th>Employee_id</th> <th>Employee_Name</th> <th>Employee_dob</th> <th>Employee_Adress</th> <th>Employee_dept</th> <td>Employee_salary</td> </tr> </thead> <tbody> <?php while( $row = mysql_fetch_assoc( $result ) ){ echo "<tr> <td>{$row\['employee_id'\]}</td> <td>{$row\['employee_name'\]}</td> <td>{$row\['employee_dob'\]}</td> <td>{$row\['employee_addr'\]}</td> <td>{$row\['employee_dept'\]}</td> <td>{$row\['employee_sal'\]}</td> </tr>\n"; } ?> </tbody> </table> <?php mysql_close($connector); ?> </body> </html> 
 <html> <head> <meta charset="UTF-8"> <title>LoginDB</title> </head> <body> <?php $con= mysqli_connect("localhost", "root", "", "detail"); <!-- detail is the database in MySqli Database --> if(!$con) { die('not connected'); } $con= mysqli_query($con, "select * from signup"); <!-- signup is the table in the detail_Database --> ?> <div> <td>Login Page Database</td> <table border="1"> <th> First Name</th> <th>Last Name</th> <th>UserName</th> <th>Password</th> <th>Gender</th> <th>DOB</th> <th>Phone Number</th> <th>Address</th> </tr> <?php while($row= mysqli_fetch_array($con)) <!-- Fetch each row from signup Table --> { ?> <tr> <td><?php echo $row['FirstName']; ?></td> <td><?php echo $row['LastName']; ?></td> <td><?php echo $row['Username']; ?></td> <td><?php echo $row['Password'] ;?></td> <td><?php echo $row['Gender'] ;?></td> <td><?php echo $row['DOB'] ;?></td> <td><?php echo $row['PhoneNumber'] ;?></td> <td><?php echo $row['Address'] ;?></td> </tr> <?php } ?> </table> </div> </body> </html> 

В вашем выражении while просто замените mysql_fetch_row на mysql_fetch_array или mysql_fetch_assoc … в зависимости от того, что работает …

привет, когда вы подключаете базу данных, вы не передаете свою переменную соединения. Это ошибка