Ошибка разбора: (T_ENCAPSED_AND_WHITESPACE)

include 'connect.php';
if ($stmt = $mysqli->prepare("INSERT users (user_name, user_pass) VALUES (mysql_real_escape_string ($_POST['user_name'], sha1($_POST['user_pass']"))
{
$stmt->bind_param("ss", $user_name, $user_pass);
$stmt->execute();
$stmt->close();
}

Я получаю эту ошибку в строке кода выше, я смотрю на это целую вечность, но не могу понять, что не так. Я новичок в PHP, MySQL и HTML. Пожалуйста, помогите мне.

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\signup.php on line 77

-1

Решение

Хорошая вещь — вы пытаетесь подготовиться, плохая новость — вы делаете это неправильно:

$username = $_POST['user_name'];
$password = $_POST['user_pass'];

$query = "INSERT users (user_name, user_pass) VALUES (?,  sha1(?)) ";
/* create a prepared statement */
if ($stmt = $mysqli->prepare($query)) {

/* bind parameters for markers */
$stmt->bind_param("ss", $username, $password);

/* execute query */
$stmt->execute();

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();

проблемы:

  • mysql_real_escape_string устарела
  • mysqli_real_escape_string было бы бесполезно
  • Ваша конкатенация строк неверна
2

Другие решения

Других решений пока нет …

А ты уже прошел курс программирования? Супер скидка!
Прокачать скилл $$$
×