2015-01-19 2 views
1

Как проверить данные в mysql с помощью ограничения?Как проверить данные в mysql с помощью лимита?

Когда нагрузка этот код (will check data in row id 2), это эхо requests field

Почему бы не повторить not requests field

это test_table:

________________________________ 
| id | pro_id | requests | 
| 1 | 11111 |  0  | 
| 2 | 12345 |  0  | 
| 3 | 12345 |  0  | 
| 4 | 12345 |  1  | 
|__5___|__12345___|_____1______| 

и это PHP-код для проверки данных в test_table

<?PHP 
    include("connect.php"); 
    $i = "0"; 

    $sql = "SELECT * FROM test_table WHERE pro_id = '12345' AND requests != '0' order by id asc limit $i,1"; 
    $query = mysql_query($sql); 
    $result = mysql_fetch_array($query); 
    if($result) 
     echo "requests field"; 
    else 
     echo "not requests field"; 
?> 
+4

Не знаю, что вы задаете –

+1

Почему '$ i' инициализируется как строковая константа, а не целое число, например' $ i = 0'? – Aditya

+0

, потому что вы положили его в ""? попробуйте $ i = (int) 0; – onegun

ответ

1

Поскольку $ result является результатом, он имеет 0 строк

if(array) 
    true; 
    else 
    false; 

он всегда будет возвращать true. потому что пустой массив никогда не равен FALSE;

1

Ваш PHP-скрипт сгенерирует такой запрос: SELECT * FROM test_table WHERE pro_id = '12345' AND requests != '0' order by id asc limit 0,1 . И выход запроса будет выглядеть следующим образом:

+----+---------+----------+ 
| id | prod_id | requests | 
+----+---------+----------+ 
| 4 | 12345 | 1  | 
+----+---------+----------+ 

Итак, ваш PHP скрипт:

if($result) 
    echo "requests field"; 
else 
    echo "not requests field"; 

всегда возвращает true значение, так как ваш запрос с конкретным условием воли нашел запись, что означает $result имеет значение true.

FYI: если запрос возвращает пустую запись, которая empty array, он будет возвращать false значение

Я предполагаю, что вы хотите знать, что id=2 запись существует или нет в то время как определенное условие назначены. Таким образом, вы можете изменить свой PHP-скрипт следующим образом:

if($result){ 
    if($result["id"]==2) 
     echo "requests field"; 
    else 
     echo "not requests field"; 
} 
else 
    echo "not requests field"; 

Надеюсь, это поможет.

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