LifeAct
@LifeAct
Создаем и раскручиваем, не ставим на конвейер

PHP почему не пишет в БД?

Всем привет! В пхп полный ноль. Попросил знакомый простейший пример накидать, сдать зачет....

отправку мыла сделал, чтение с таблицы сделал, а вот вставку в таблицу уже лоб расшиб.... ну никак, подскажите что не так:
<?php

$servername = "localhost"; 
						$username = "23423434";
						$password = "4234234234";
						$dbname = "study_db";

						// Create connection
						$conn = new mysqli($servername, $username, $password, $dbname);
						// Check connection
						if ($conn->connect_error) {
							die("Ошибка соединения с БД: " . $conn->connect_error);
							}  
							
			//данные
				/*$user_name = mysql_real_escape_string($user_name);
				$user_email = mysql_real_escape_string($user_email);
				$subject = mysql_real_escape_string($subject);
				$message = mysql_real_escape_string($message);*/

				
			
					/*$sql = "INSERT INTO Main (from_name, from_email, subject, message)
			VALUES ('$user_name', '$user_email', '$subject', '$message')";*/

			$sql = "INSERT INTO Main (from_name, from_email, subject, message)
				VALUES ('John', 'Doe', 'johnexample.com', 'sdsd')";
			
			
			if ($conn->query($sql) === TRUE) {
				echo "Новая запись создана успешно";
			} else {
				echo "Error: " . $sql . "<br>" . $conn->error;

			}

			$conn->close();
			
			
?>


я для теста просто строки вставил...

UP
взял этот код в отдельный файл php.... , там работает, а вот если вставить его в мой пхп файл в котором отправляется почта, причем в разное место - joxi.ru/52aQR7cGEZYn20 и внутри самой процедуры отправки после успешной отправки и следующим блоком - joxi.ru/MAjMp4IvjZBW2e то не инсертит данные

Мне нужно в скрипте отправки почты это сделать, так как нужно переменные от кого, сообщение, тема, вставить в табличку

UP
скрипт вставки вывел в отдельный файл, и вызываю его с страницы отправки письма:
//Ajax post data to server
            $.post('test.php', post_data, function(response){  
				if(response.type == 'error'){ //load json data from server and output message     
					output = '<div class="error">Ошибка</div>';
				}else{
				    output = '<div class="success">Успешно</div>';
					//reset values in all input fields
					$("#contact_form  input[required=true], #contact_form textarea[required=true]").val(''); 
					$("#contact_form #contact_body").slideUp(); //hide form after success
				}
				$("#contact_form #contact_results").hide().html(output).slideDown();
            }, 'json');


работает, правда в базу крокозяблы вместо кириллицы пишутся, где то указать наверно кодировку нужно

UP
и с кодировкой разобрался, после конекта к бд:
mysql_query("SET NAMES 'utf8';");
	mysql_query("SET CHARACTER SET 'utf8';");
	mysql_query("SET SESSION collation_connection = 'utf8_general_ci';");


но прикол был в том, что просто пхп майадмин криво мне показывал.... а в браузере все красиво
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov Куратор тега PHP
Web developer
нужно переменные от кого, сообщение, тема, вставить в табличку...

Если вы не можете взять переменные из одной строчки (где отправка почты) и их же вставить на соседнюю строчку (где вставка в БД) - значит, вам надо начать изучение PHP вообще и переменных в частности. php.net/manual/ru/langref.php
Тем более, что:
В пхп полный ноль...

сдать зачет...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы