2014-01-27 3 views
-2

Если вставка sql завершается успешно, тогда отобразится «Success». Если есть ошибка, тогда отобразится «Имя взято». Проблема заключается в том, что она отображается и при возникновении ошибки.Правильный синтаксис If-Else

Мой PHP код ниже:

$sql = "INSERT INTO event_calendar (name, detail, place, date, time) VALUES ('$name', '$detail', '$place', '$date', '$time')"; 

if($sql){ 

    echo "<div>"; 
    echo "<p> Success </p>"; 

    }   
    echo '<p>Name is taken</p>'; 
} 
?> 

Как остановить и не отображалось? Есть идеи?

+0

Вопрос непонятен? почему я получил -1? – Anthosiastic

+0

Сначала вам нужно проверить, находится ли имя или любое другое уникальное поле в базе данных. Вы также можете выполнить SQL-запросы, чтобы сначала проверить, а затем вставить как один запрос. Результат во втором случае можно обработать так, как если бы 'affected_rows' тогда .... В любом случае, учитывая ваш код выше, вы, скорее всего, не поймете, что я говорю, и поскольку вы на самом деле не разместили свой фактический Попытайтесь на это, вам нечем помочь, кроме как сделать для вас работу :) – Onimusha

+0

Вы когда-нибудь выполняли свой SQL или просто делаете ли вы, если на основе строки вашего SQL? У меня такое чувство, что вы слишком быстро достигли слишком амбициозных целей. Прежде чем пытаться обработать взаимодействие с базой данных, изучите базовое программирование, например, из w3schools или академии кода. – Tarmo

ответ

0

С "Название взято" не находится в другом блоке это будет выполнена каждый раз. if ($ sql) {

echo "<div>"; 
    echo "<p> Success </p>"; 

    }else{   
    echo '<p>Name is taken</p>'; 
    } 
} 
+0

Я попытался использовать этот метод, он тоже не работает. – Anthosiastic

+0

http://phptrycatch.blogspot.com/ Блок «Try/Catch» будет моим следующим предложением. Это пытается выполнить строку кода (в блоке «try»), и если есть исключение, то он делает все, что находится в блоке catch –

+0

спасибо! это хороший метод :) – Anthosiastic

Смежные вопросы