Insert Ignore — спросить MySQL, если оператор был проигнорирован

У меня есть следующий код, который является частью функции для добавления пользователя в базу данных на PHP. Он добавляет пользователя в базу данных.

if($user != '' && $pass != ''){
$new_name_q = "INSERT IGNORE INTO $db_name (`User`, `Password` ,`Name`, `Medals`, `TextSize`)
VALUES ('$user','$pass','$nameComplete', '000000', '18')";
$new_name_rs = mysqli_query($connection1,$new_name_q);

if(!$new_name_rs)
{
die("No name added: " . mysql_error());
}
}

Запрос работает нормально, и я не получаю дубликатов.
Но я хотел бы повторить предупреждение для пользователя в случае, если запрос игнорируется.

0

Решение

Вот код, который вам нужен:

if($user != '' && $pass != ''){
$new_name_q = "INSERT IGNORE INTO $db_name (`User`, `Password` ,`Name`, `Medals`, `TextSize`)
VALUES ('$user','$pass','$nameComplete', '000000', '18')";
$new_name_rs = mysqli_query($connection1,$new_name_q);
$affected = mysqli_affected_rows($connection1);
if(!$affected) {
die("No name added");
}
}

Увидеть http://www.php.net/manual/en/mysqli.affected-rows.php

[Здесь я предполагаю, что вы сделали что-то вроде обеспечения того, что переменные уже правильно экранированы]
1

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

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

По вопросам рекламы [email protected]