2016-06-29 4 views
0

Итак, у меня есть проблема с проверкой пустого значения. Как я могу исправить эту проблему? Я хочу проверить, существует ли category_name в базе данных (его работа), и я хочу проверить, пуст ли вход (это не работает). Вот мой код:Проблема с проверкой пустого значения

PHP:

<?php 
    error_reporting(E_ERROR); 
    include("../db_config.php"); 
    $category = mysqli_real_escape_string($conn, $_POST['category']); 
    $result = "SELECT * FROM category WHERE category_name='$category'"; 
    $rs = mysqli_query($conn,$result); 
    $data = mysqli_fetch_array($rs); 
    if($data > 1 || $category === NULL) 
    { 
     echo "<script> 
     alert('Category name already exist or the value is empty.'); 
     window.location.href='category.php'; 
     </script>"; 
    } 

    else 
    { 
     $sql[0] = "INSERT INTO category (category_name) VALUES ('$category')"; 
     if(mysqli_query($conn, $sql[0])) 
     { 
       header("Location:category.php"); 
       exit(); 
     } 
     else 
     { 
     echo "ERROR: Could not able to execute $sql[0]. " . mysqli_error($conn); 
     } 
    $conn->close(); 
    } 
?> 

HTML:

<form action="category_insert.php" method="post" enctype="multipart/form-data"> 
     <input type="hidden" name="mode" value="add"> 
     Name:<br /> 
     <input type="text" name="category" placeholder="Category name"><br><br> 
     <input type="submit" value="Submit"><br><br> 
    </form> 
+2

'mysqli_real_escape_string' никогда не будет возвращать' NULL'. __НИКОГДА__. –

+1

'$ category === NULL' находится в неправильном месте. Сначала вы должны использовать 'empty() /! Empty()' здесь, а затем назначьте его. –

+0

Сделайте поле ввода ** обязательным полем **. –

ответ

1

Функция mysqli_real_escape_string возврата спасся строки (как вы можете прочитать в документации здесь http://php.net/manual/en/mysqli.real-escape-string.php), поэтому нет возможности ожидать NULL в $category переменная. Заменить эту часть вашего кода

if($data > 1 || $category === NULL) 

с этим

if($data > 1 || empty($category)) 
+0

спасибо, исправлено. 5 минут, и я cann принять ваш ответ – Achy

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