2014-09-09 3 views
0

У меня есть программа php, и я хочу вставить значения в определенный столбец. вот мой стол.Вставка значения в определенный столбец

form_no | fullname | january | february | march | april | may | june | july 
11111  smith, john 

Каков правильный код запроса при этом? и правильный способ проверить, содержит ли ячейка значение? необработанный стол: https://drive.google.com/file/d/0B99TeByt30n2eHdLM0FER210cWM/edit?usp=sharing

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

$value_result = mysql_query("SELECT january FROM table_2014 WHERE form_no = '$formnumber'"); 
$value_rownum = mysql_num_rows($value_result); 
if (!$value_result) { 
    die(mysql_error()); 
} 
if ($value_rownum > 0) { 
    echo "Already contributed!"; 
} else { 
    $sql = "UPDATE `table_2014` SET january = '$contri_amnt' WHERE form_no = '$formnumber'"; 

    if (!mysql_query($sql,$con)) { 
     die('Error: ' . mysql_error()); 
    } 
} 
+2

И вопрос, если вы можете ...? – mariobgr

+0

В чем Ваш вопрос? http://stackoverflow.com/help/how-to-ask – Mihai

+1

Почему у вас есть таблицы с годом в имени и денормализованных столбцах? Вы действительно должны посмотреть на перепроектирование таблиц. –

ответ

1

Даже если январь является NULL вы все равно получите строку, поэтому подсчет строк даст вам 1, и вы никогда не будете обновлять его.

Вам нужно использовать mysql_fetch_assoc или mysql_fetch_object, чтобы проверить, действительно ли результат имеет значение. ИЛИ, измените запрос на

ВЫБРАТЬ ИЗ января table_2014 WHERE form_no = '$ formnumber' AND января IS NOT NULL

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