получить ответ «победа / отказ» от mysqli_query

Я собираю информацию от пользователя, а затем добавляю их в таблицу.

$insert = "INSERT INTO jos_activeagents (RINGPHONE, AGENTUID, FNAME, LNAME) VALUES ('(618) 717-2054','".$result['AGTBRDIDMM']."','".$result['AGTFNAME']."','".$result['AGTLNAME']."')"; $set = mysqli_query($link,$insert); 

AGENTUID – уникальный ключ. Если пользователь пытается отправить с помощью дубликата уникального ключа, я получаю сообщение об ошибке (конечно).

Теперь, как бы я узнал, произошла ли и когда произошла ошибка, а затем вернул ответ на страницу? Я знаю mysqli_get_warnings() , но в руководстве по PHP нет примеров.

Я также попытался AGENTUID в таблице:

 $check = "SELECT * FROM jos_activeagents WHERE AGENTUID = '".$agt."'"; $runcheck = mysqli_query($link,$check); $rescheck = mysqli_fetch_assoc($runcheck); if($rescheck != null){ echo 'This Agent ID is already enrolled.' } 

Но это кажется неряшливым. Есть ли лучший способ сделать это?

Вы можете использовать mysqli_error() чтобы узнать, произошла ли ошибка

 if (mysqli_error($runcheck )) { // an error eoccurred } 

В вашем конкретном примере вам лучше проверить, существует ли строка перед выполнением вставки. Ваш пример близок, но лучше использовать mysqli_num_rows() :

 $check = "SELECT * FROM jos_activeagents WHERE AGENTUID = '".$agt."'"; $runcheck = mysqli_query($link,$check); if (mysqli_num_rows($runcheck) > 0) { // username in use }