2013-07-18 4 views
0

Как PHP скрипта может проверить Если есть пустой столбец в моей базе данных в таблице the_ad Где колонок image_link А пока мой сценарий не может проверить, если есть пустой столбец Что я сделать неправильно Вот мой полный кодПроверьте столбец NULL из PHP SQL

<?php 
$username = "root"; 
$password = ""; 
$hostname = "localhost"; 
$dbhandle = mysql_connect($hostname, $username, $password) 
or die("Unable to connect to MySQL"); 

$selected = mysql_select_db("test",$dbhandle) 
or die("Could not select test"); 

//fetch tha data from the database 
$result_image_link = mysql_query("SELECT image_link FROM test. the_ad"); 
while ($row_image = mysql_fetch_array($result_image_link)) { 
if (empty($result_image_link)) { 
    echo "no image_link"; 
} 
else 
if (isset($result_image_link)) { 
echo "PIC=".$row_image{'image_link'}."<br>"; 
} 
} 
mysql_close($dbhandle); 
?> 

Я вижу список колонки КакЭто

    1. ПОС =
    2. ПОС =
    3. ПОС = pic3.jpg
    4. ПОС = pic4.jpg
    5. ПОС = pic5.jpg
    6. ПОС = pic6.jpg
    7. ПОС = pic7.jpg

Почему колонка один и два не показывать сообщение

Благодаря всем, кто может помочь

ответ

1

Используйте этот запрос: SELECT image_link FROM test WHERE image_link != NULL

Ваш чек в отношении всей суммы результатов. Только если результаты не возвращаются из вашего запроса, функция empty вернет false. Вы можете использовать указанный выше запрос или изменить свой оператор if на этот !empty($row_image['image_link']).

+1

+1. Я думаю, что лучше изменить сам запрос, а не получать значения, которые не нужны (и затем проверять их), даже если они являются значениями NULL. Этот подход может быть и более быстрым. – Maximus2012

+0

Если изменение курса запроса будет лучше, но если вы хотите показать страницу с (например) списком пользователей с их изображением профиля (если они есть), другой подход будет более полезен. – Pieter

+0

Я вижу, что вы говорите. Этот подход можно комбинировать с обновленным запросом, если вы хотите отобразить изображение по умолчанию, если изображение отсутствует. Таким образом, в случае OP вам нужна проверка php в дополнение к фильтрации на уровне MySQL. – Maximus2012

2

Вы можете добавить инструкцию SQL WHERE `image` != ''

$result_image_link = mysql_query(" 
    SELECT `image` 
    FROM `table` 
    WHERE `image` != '' 
"); 

while($row_image = mysql_fetch_array($result_image_link)) 
{ 
    echo "PIC=" . $row_image['image'] . "<br/>"; 
} 

ИЛИ

while ($row_image = mysql_fetch_array($result_image_link)) 
{ 
    echo (isset($row_image['image']) AND $row_image['image'] != '') 
     ? "PIC=" . $row_image['image'] . "<br/>" 
     : 'no picture <br/>'; 
} 
+0

Спасибо за помощь Хорошо работает – manny

+0

@many, без проблем, добро пожаловать) – lysenkobv