@OwerFan

Что не правильно в запросе?

Ошибка Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
<?php 
require_once '../connectiondb.php';
if(isset($_POST['name']))
{
	global $link;
	$result = mysqli_query($link, "INSERT INTO `secret_users` (`id`, `name`, `email`, `password`, `path`) VALUES (NULL, '$_POST['name']', '$_POST['email']', '$_POST['password']', 'ds23232')");
	if($result)
	{
		echo 'успешно';
	}else{
		echo ' не успешно';
	}
}

Как исправить?
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
@FanatPHP
ВСЁ неправильно.
Переменные никогда не пихают в запрос напрямую.
Вместо них надо писать знаки вопроса, а сами переменные отправлять отдельно

$stmt = $link->prepare("INSERT INTO `secret_users` VALUES (NULL, ?,?,?,'ds23232')");
$stmt->bind_param("sss", ...$_POST['name'], $_POST['email'], $_POST['password']);
$stmt->execute();
echo 'успешно';

Слова "не успешно" писать не надо
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Кстати, нет защиты от злонамеренных SQL-иньекций.
<?php 
require_once '../connectiondb.php';
if(isset($_POST['name']))
{
  global $link;
  $result = mysqli_query($link, "INSERT INTO `secret_users` (`id`, `name`, `email`, `password`, `path`) VALUES (NULL, '{$_POST['name']}', '{$_POST['email']}', '{$_POST['password']}', 'ds23232')");
  if($result)
  {
    echo 'успешно';
  }else{
    echo ' не успешно';
  }
}
Ответ написан
@Comsequent
Вы, в поле id, пытаетесь NULL прописать. Это вызывает подобную ошибку
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
ЧИТАЙ-ГОРОД Москва
от 140 000 до 210 000 ₽
Modens Group Москва
от 100 000 до 150 000 ₽
Mediapark Group Калининград
от 100 000 ₽
17 февр. 2020, в 19:08
40000 руб./за проект
17 февр. 2020, в 17:35
15000 руб./за проект
17 февр. 2020, в 17:25
10000 руб./за проект