2014-09-11 4 views
-1

У меня есть этот код, который будет проверять, например, месяц. january имеет значение 0, и если его true, он выполнит запрос на обновление.Неопределенная ошибка смещения 0

Но i'am получаю эту ошибку "Примечание: Undefined смещение: 0"

$value_result = mysql_query("SELECT form_no FROM table_2014 WHERE form_no = '$formnumber'"); 
    while($row = mysql_fetch_assoc($value_result)){ 
     if ($row['january' == '0']){ 
      $sql = "UPDATE `table_2014` SET january = '$contri_amnt' WHERE form_no = '$formnumber'"; 
      if (!mysql_query($sql,$con)) 
      { 
       die('Error: ' . mysql_error()); 
      } 
     } 
     else{ 
      echo "Already contributed!"; 
      } 
    } 
+1

Существует ** нет больше поддержки ** для '' mysql_ * функции, они [** официально осуждается **] (https://wiki.php.net/rfc/mysql_deprecation), ** больше не поддерживается ** и будет [** удален **] (http://php.net/manual/en/function.mysql-connect.php#warning) в будущем. Вы должны обновить свой код с помощью [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/mysqli), чтобы обеспечить функциональность вашего проекта в будущем. – Kermit

ответ

5
$row['january' == '0'] 

вернется $row[false], который $row[0]

я думаю, что вы имели в виду

$row['january'] == '0' 
-1

Вам больше не следует использовать функции mysql_ *. Они устарели + они небезопасны, потому что вам не нужно ничего скрывать. Я предлагаю вам использовать PDO вместо подготовленных операторов.

Вы должны сделать:

$value_result = mysql_query("SELECT form_no FROM table_2014 WHERE form_no = '".(int)$formnumber."'"); 
//guessin that the fields where all integers, since compareing against a "0" 
while($row = mysql_fetch_assoc($value_result)) { 
    if (isset($row['january']) && $row['january'] == '0') { 
     $sql = "UPDATE `table_2014` SET january = '".(int)$contri_amnt."' WHERE form_no = '".(int)$formnumber."'"; 

     if (!mysql_query($sql,$con)) { 
      die('Error: ' . mysql_error()); 
     } 
    } 
    else { 
     echo "Already contributed!"; 
    } 
} 
Смежные вопросы