2014-12-24 3 views
1

Ex: Я имею 1 таблицу нижеПроверьте все пустые comlumn в PHP & MySQL

ID USER1 USER2  USER3 
1  X     X 
2  X     X 
3  X     X 
4  X     X 
5  X     X 

Как я могу проверить все значения ПОЛЬЗОВАТЕЛЬ2 comlumn пусто в PHP & MySQL? Я код ниже, но это не работает

$res = mysqli_query($conn, "SELECT USER2 FROM TABLE") 
if(count($res)== "0") echo "OK"; 
+0

чек на пустую строку вместо этого, пустая строка не является «0». – avisheks

+0

SELECT USER2 FROM TABLE, где user2 является нулевым –

ответ

0
$res = mysqli_query($conn, "SELECT * FROM TABLE where USER2=''") 
$n_rows_void_user2 = mysql_num_rows($res); 
if($n_rows_void_user2) echo "OK"; 
else 
echo "There are $n_rows_void_user2"; 
0

вы можете сделать что-то вроде этого:

$res = mysqli_query($conn, "SELECT * FROM TABLE where USER2 IS NULL OR USER2 = ''"); 

    $num = $res->num_rows; 
    if($num != 0){ 
     echo "number of empty row for USER2".$num; 
     }else{ 
    echo "on empty column for USER2"; 
    } 
4
select sum(user2 <> '') as count 
from your_table 
+0

пустым и '' '' не всегда одинаковым – vladkras

+0

Правильно. ОП должен решить, какие пустые средства для него. –

+0

ОК, но как вы думаете, 'SELECT SUM (col <> '') ...' быстрее, чем 'SELECT COUNT (col) ... WHERE col <> '''? – vladkras

0

Прежде всего, вы должны написать правильный запрос:

"SELECT * FROM mytable WHERE --user2 condition--" 

Где условия пользователя2 могут отличаться в зависимости от вашего данные:

WHERE ISNULL(user2) OR user2='' 

Это зависит от ваших данных.

Затем выполнить этот запрос в PHP:

$res = mysqli_query($conn, $query); 
$n_rows = mysql_num_rows($res); 
if ($n_rows > 0) { 
    // echo your rows here 
} 

Кроме того, вы должны подключиться к базе данных, прежде чем, я надеюсь, что вы сделали это. не

1

Это помогло бы,

$res = mysqli_query($conn, "SELECT COUNT(*) AS count FROM TABLE where USER2 IS NULL OR USER2=''"); 
if($res['count']==0) 
{ 
    echo "It is Empty"; 
} 
else 
{ 
    echo $res['count']." rows have User2 empty"; 
} 

count(*) возвращает нет строк, поступающих в качестве выходного сигнала запроса, который будет в целочисленном виде. $res == "0" означает, что вы сравниваете строку «0», а не целое число.

0

Выдвижение к ответу на @juergen:

select sum(user2 IS NOT NULL OR some_col <> '') as count 
    from your_tabl; 
Смежные вопросы