Попробуйте это:
<?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
}
?>
Примечания, предостережения и предостережения
Ваше первоначальное решение не показало очевидного искажения значений перед передачей их в базу данных.Так происходят атаки SQL-инъекций (или даже непреднамеренные ошибки, передаваемые через SQL).Не делайте этого!
Кажется, в вашей базе данных нет первичного ключа.Хотя они не являются технически необходимыми для любого использования, они являются хорошей практикой и обеспечивают гораздо более надежный способ ссылки на конкретную строку в таблице, будь то для добавления связанных таблиц или для внесения изменений в эту таблицу.
Вам необходимо проверять каждое действие на каждом этапе на наличие ошибок.Большинство функций PHP достаточно хороши, чтобы иметь ответ, который они будут возвращать при условии ошибки.Ваша задача - проверять эти условия на ходу - никогда не предполагайте, что PHP будет делать то, что вы ожидаете, как вы ожидаете, и в том порядке, в котором вы ожидаете.Вот как происходит несчастный случай ...
Мой приведенный выше код содержит много точек, где, если произошла ошибка, будет возвращено сообщение.Попробуйте, посмотрите, нет ли сообщений об ошибках, посмотрите сообщение об ошибке и, если применимо, вернули код ошибки и проведите некоторое исследование.
Удачи.