1

Тема: Помогите новичку соединиться с базой.

На сервере в PHPMyAdmin создал базу данных email_list в ней создал таблицу rassilka, в таблице создал
создал 5 полей:

id автоинкремент, по порядку: 1,2,3,4 итд
name
email
from
comment

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

все делал по книге..

<body>

<?php
error_reporting(E_ALL);


//Создаем перменные

$name='';
$email='';
$from='';
$comment='';



if (isset($_POST['submit'])){


$name=$_POST['name'];
$email=$_POST['email'];
$from=$_POST['from'];
$comment=$_POST['comment'];
$output_form = false;

if (empty($name)){
echo ' <div id="answer">Нужно указать Имя, желательно реальное</div> ';
$output_form = true;    
}

if (empty($email)){
echo ' <div id="answer">Это база для рассылки, EMAIL обязателен</div> ';
$output_form = true;    
}

if (empty($from)){
echo ' <div id="answer">Вы забыли указать из какой страны этот емейл</div> ';
$output_form = true;    
}

if ( (!empty($name)) && (!empty($from)) && (!empty($email)) ) {
    
    
//Если все заполнено верно коннектимся к базе и передаем запрос на добавление данных в базу данных    
    
$dbc=mysqli_connect ('localhost', 'login', 'password', 'email_list ')
or die ('Ошибка соединения с MySQL-сервером');

$query = "INSERT INTO rassilka (name, mail, from, comment) " .
"VALUES ('$name', '$email', '$from', '$comment')";

mysqli_query($dbc, $query)
or die ('Ошибка при выполннии запроса к базе данных');

mysqli_close($dbc);

echo 'Вы успешно добавили новый емейл для рассылки';

$name='';
$from='';
$email='';
$comment='';
$output_form = true;    
}






}
  else { $output_form = true;
       }
if ($output_form) {       
?>

<div id="form"> 

  <form  name="addmail" id="addmail"  action="rassilka.php" method="post">
  <table border="0" cellspacing="0" cellpadding="3">
<tr>
   <td><div align="right"><label for="name">Имя:</label></div></td> 
   <td><input name="name" type="text" class="formstyle" id="name" value="<?php echo $name; ?>" autofocus/><br />
             </td>
</tr>

<tr>
   <td><div align="right"><label for="email">Email:</label></div></td>
   <td>
   <input name="email" type="text" class="formstyle" id="email" value="<?php echo $email; ?>"/><br /> 
   
   </td>

</tr>
<tr>
   <td><div align="right"><label for="subject">Откуда</label></div></td>
   <td><input name="from" type="text" class="formstyle" id="from" value="<?php echo $from; ?>" /></td>

<tr>
   <td><div align="right"><label for="message">Комментарий:</label></div></td>
   <td>
   <textarea name="comment" cols="45" rows="5" id="comment" contenteditable="true" ><?php echo $comment; ?></textarea>
   </td>

</tr>
<tr>
    <td></td>
    <td>
     <input type="submit" name="submit" class="button" value="Отправить" />
    </td>
   </tr>
  </table>   
  </form>
</div>  

<?php
}
?>



</body>

выдает Ошибка при выполннии запроса к базе данных

помогите разобраться? у меня уже процессор кипит smile

2

Re: Помогите новичку соединиться с базой.

//Если все заполнено верно коннектимся к базе и передаем запрос на добавление данных в базу данных    
    
$dbc=mysqli_connect ('localhost', 'login', 'password', 'email_list ')
or die ('Ошибка соединения с MySQL-сервером');

так зачем то тебе тут email_list?  smile
Вот так будет правильно:

$dbc=mysqli_connect ('localhost', 'login', 'password',)
or die ('Ошибка соединения с MySQL-сервером');
@mysql_select_db('email_list',$dbc)or die('Не могу выбрать базу данных'); // Выбираем email_list текущей базой данных

3

Re: Помогите новичку соединиться с базой.

Здесь все правильно. Ничего не меняйте.

$dbc=mysqli_connect ('localhost', 'login', 'password', 'email_list ')
or die ('Ошибка соединения с MySQL-сервером');

Ошибка в запросе.

$query = "INSERT INTO rassilka (name, mail, from, comment) " .
"VALUES ('$name', '$email', '$from', '$comment')";

Конкретно, ошибку вызывает поле from. Слово from является зарезервированным и его нельзя использовать без косых кавычек. Перепишите запрос таким образом:

$query = "INSERT INTO `rassilka` (`name`, `mail`, `from`, `comment`) " .
"VALUES ('$name', '$email', '$from', '$comment')";