2015-02-11 3 views
-1

Я довольно новичок в PHP, и я весь день искал весь день, чтобы узнать, что не так с моим кодом, но я не смог найти тот, который соответствует выходному Я хотел; чтобы дать вам лучшее представление о моей заботе, я написал свой код ниже.Третье условие в if ... else утверждение в PHP не доступно

<?php 
if (empty($lname) && empty($fname)) { 
    echo"WARNING: Unable to save information, Blank fields found, Enter N/A if it is not applicable for the employee."; 
} else if ($query) { 
    echo"WARNING: Unable to save information, Employee already exist in the database."; 
} else if ($save) { 
    echo"$fname&nbsp;$lname's personal information saved succesfully."; 
} 
?> 

Первое условие проверяет, является ли пустое значение, второе условие проверяет значение уже существует в базе данных, и третье условие сохраняет значения, если выше два условия не соответствуют действительности.

Все три условия работают, если я запускаю их по одному, но когда я их складываю, используя оператор if ... else, третье условие не работает.

Я хотел бы попросить вас о помощи и просветить меня, что я пропустил в своем коде.

+0

Каково значение '$ query'? –

+0

@john conde $ query - это SQL-запрос. $ select = "SELECT EXISTS (SELECT LNAME, FNAME FROM perinfo WHERE LNAME = '$ lname' && FNAME = '$ fname' LIMIT 1)"; $ query = mysql_query ($ select, $ con); –

+1

SQL-запрос не выглядит очень ложным-y, не так ли? [Возвращает 'true' при успешном выполнении,' false' при ошибке] (http://php.net/manual/en/function.mysql-query.php#refsect1-function.mysql-query-returnvalues). Пустой набор результатов по-прежнему является успешным запросом. – sjagr

ответ

0

Вы используете $query неправильно. Используйте mysql_num_rows проверить число возвращаемых строк из вашего запроса SELECT:

if (empty($lname)&&empty($fname)) { 
    echo "WARNING: Unable to save information, Blank fields found, Enter N/A if it is not applicable for the employee."; 
} else if (mysql_num_rows($query) > 0) { 
    echo "WARNING: Unable to save information, Employee already exist in the database."; 
} else if ($save) { 
    echo "$fname&nbsp;$lname's personal information saved succesfully."; 
} 

Пожалуйста, обратите внимание, что mysql_* методы устарели и должны быть заменены на более современную библиотеку. Вы можете найти много вопросов по этому вопросу с помощью некоторого быстрого поиска и просмотра документов PHP (см. Красную рамку в моей ссылке mysql_num_rows выше?)

+0

спасибо, что нашли время на это; уведомления и сохранение работают правильно, но по какой-то причине каждый раз, когда выполняется инструкция if, она сохраняет информацию, которую я ввожу, что здесь может быть неправильной? только третье условие должно сохранить информацию, почему это так? –

+0

@ ErphilCatama Не в рамках вашего оригинального вопроса, извините. Вы должны опубликовать новый вопрос с соответствующим кодом, который объясняет поведение сбережений (этот вопрос не имеет ничего такого.) – sjagr

+0

хорошо, не беспокойтесь, я подумаю, что ваша помощь очень ценится; новый с переполнением стека, пожалуйста, не голосуйте вниз :( –

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