2014-01-14 1 views
0

Если пользователь отправляет значение AGE null, то не выполняется. Как правильно писать в MySQLКак я могу проверить значение пользователя null или нет в синтаксисе mysql?

$result = mysqli_query("select * from ident where FirstName = '$first_name' && $age != '' && Age = $age");

+0

Просто уточнить: вы волновались колонки возраст в таблице MYSQL будет NULL, или PHP переменная '$ age' будет нулевым? – Huey

+0

Возможный дубликат [Как проверить, пустой ли столбец или null в mysql] (http://stackoverflow.com/questions/8470813/how-do-i-check-if-a-column-is-empty- или-null-in-mysql) – Huey

ответ

0

Вы были не очень понятно, в вашем вопросе, так что я буду обеспечивать как PHP & MySQL:

MySql

Используйте IS NOT NULL. Reference

SELECT * FROM ident 
    WHERE FirstName = '$first_name' 
    AND Age IS NOT NULL 
    AND Age = $age 

PHP

Использование empty() или isset(). Reference.

if(!empty($age)){ 
    //execute mySQL 
} 
+0

Не работает сэр! – user3181614

+0

спасибо Я только что удалил поле, создавая неприятности! – user3181614

0
SELECT 
    * 
FROM 
    `ident` 
WHERE 
    FirstName = '$first_name' 
    && Age != '' 
    && Age = $age 
    && Age IS NOT NULL; 
0
if ($age !== null) { 
$result = mysqli_query("select * from ident where FirstName = '$first_name' Age = $age"); 
//etc.. 
} 
+0

@ пользователь3181614 no беспокойство. – NewInTheBusiness

0

Вы должны проверить это на PHP странице перед запросом к базе данных.

<?php 
if(!empty($age)) { 
    $result = mysqli_query("select * from ident where FirstName = '$first_name' AND Age = '$age'"); 
} 
?> 
+0

Спасибо Таши Делек! – user3181614

0

Это должно быть сделано на строительной запрос стороны, вы можете бросить исключение, если некоторые значения не будут выполнены, как и ожидалось

PHP Использование is_null() метода или как сказал @Huey

if(isset($age) and !is_null($age) and intval($age) > 0){ 
    $result = mysqli_query("SELECT * FROM ident WHERE FirstName = '$first_name' AND Age = $age"); 
} 
+0

спасибо. Таши Делек! – user3181614

5

Вы можете использовать

if(!empty($age)){ 
    //do sql operation 
    } 

Вы также можете добавить ограничения, если хотите только определенные возрастные группы. пример: если вы хотите, возрастная группа от 18 и 40

if ($_POST["age"] < 18 || $_POST["age"] > 40){ 
    //print error message 
    } 
    else{ 
    //do sql operation 
    } 
+0

Я думаю, он спрашивает, как это сделать в запросе mySQL. – Huey

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