@Selik1

В чем ошибка. Call to undefined function mysql_query?

Подскажете что не так написал?

Пытаюсь дабавить в БД значение с формы выдает: Fatal error: Uncaught Error: Call to undefined function mysql_query() in C:\OSPanel\domains\localhost\saving memory\POJECT\lesson1\index.php:54 Stack trace: #0 {main} thrown in C:\OSPanel\domains\localhost\saving memory\POJECT\lesson1\index.php on line 54

54 строка: mysql_query (" INSERT INTO otzivi (name, email, otziv, page, chislo)
			 VALUES ('NULL '$name', '$email', '$otziv', '$page', '$chislo')");

Вот полностью код <?
include("config.inc.php");  
$link_1 = mysqli_connect($DBSERVER, $DBUSER, $DBPASS)  
or die("Не могу подключиться" );  
mysqli_select_db($link_1, $DB) or die ('Не могу выбрать БД'); 

if($_POST['add_otziv']) {

//присваиваем перемнным данные из формы с такими же именами
//htmlspecialchars() служит для защиты передаваемых данных
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$otziv = htmlspecialchars($_POST['otziv']);
$chek = htmlspecialchars($_POST['chek']);

//получаем с какой страницы отправляется отзыв
$page = $_SERVER['REQUEST_URI'];
//задаем время отправки отзыва
$chislo = date("d.m.Y - H:i");

//проверка, является ли отправитель человеком
if($chek == 'nobot'){
	//проверяем все ли поля заполнены
	if($name != '' AND $email != '' AND $otziv != ''){
		//проверка правильно ли введен адрес почты
		if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
		{$err =  'Неверно введен е-mail.';}
        //если по ходу выполнения скрипта ошибок небыло, отправляем сообщение на почту
		if(!$err){
		//формируем html сообщение
		$massege = "<html><head></head><body>
			 	Новый отзыв на сайте! <br><br>
			 	К странице http://www.ИМЯ_САЙТА.ru".$page.", написали отзыв:<br><br>
			 	<table width=100% border=0>
			 	<tr><td width=10></td>
			 	<td><b>".$name."</b> (".$email.")<br>".$chislo."
				<br>".$otziv."
				</td>
			 	</tr></table><br>
			 	</body></html>";

        //заголовок для письма, с указанием формата сообщения, кодировки и от кого сообщение
		$headers  = "Content-type: text/html; charset=utf-8 \r\n";
		$headers .= "From: Мой сайт <admin@ИМЯ_САЙТА.ru>\r\n";

        //отправка письма
		if(mail("admin@ИМЯ_САЙТА.ru", "Новый отзыв с Вашего сайта", $massege, $headers))
			{$err="Спасибо за отзыв".$name;}else{$err='Ошибка в отправлении';}
			
	   


            //обращение к функции
			mysql_query (" INSERT INTO otzivi (name, email, otziv, page, chislo)
			 VALUES ('NULL '$name', '$email', '$otziv', '$page', '$chislo')");


		}
	}else{
	$err = 'Вы заполнили не все поля!';
	}
}else{
$err='Вы не человек :( ';
}
}
?>

<html>

<head>
<title></title>
</head>

<body>

<?
//если кнопка Отправить не нажата, выводим форму
if(!$_POST['add_otziv']) {?>
<form name="" action="" method="post">
Имя: <input name="name" type="text" value=""><br>
E-mail: <input name="email" type="text" value=""><br>
Сообщение: <textarea name="otziv" rows=5 cols=20 wrap="off"></textarea><br>
Надеюсь Вы не бот? <input name="chek" type="checkbox" value="nobot"><br>
<input type="submit" name="add_otziv" value="Отправить">
</form>
<?}else{
	//если кнопка нажата, то после обработки скрипта
	//будет выведено сообщение о результате и ошибке
	echo $err;
}?>
</body>

</html>
  • Вопрос задан
  • 3482 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Nick9007
From PHP version 7.0 mysql functions are deprecated. It is recommended to use mysqli functions for PHP version 7.0+
SOLUTIONS:
  1. Please enable mysql functions module from PHP extensions in CPanel
  2. Install mysql module if you are using VPS
  3. Start using mysqli functions rather than mysql functions
  4. Change your PHP version to 5.6 from 7.0 (Not Recommended)

Source: Call to Undefined Function Mysql_connect()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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