2009-07-18 4 views
0
function add_new($father,$chName) // add new category 
{ 

    if($father = "1") { 


$result = mysql_query("INSERT into stinky_menu (title,nest_under) 
     VALUES('".$chName."','1')"); 

    } 
    else { 

$result = mysql_query("UPDATE stinky_menu SET title = '$chName' nest_under = '$father'"); 

    } 

} 

Я получаю значение от отца с родительской страницы, но оно не переходит в другое условие, если оно не равно единице.Заявление об обновлении не работает

+1

Не забудет, где пункт в заявлении обновления? –

ответ

2

Try:

if ($father == 1){} 

Read here об операторах сравнения. «=» - оператор присваивания.

Посмотрите на это, чтобы увидеть, что делает ваш код:

<?php 
    $father = 55; 

    if ($father = 1){} 
    else{} 

    echo $father; 
?> 

Это печатает "1".

4

Вы используете assignment operator=, а не comparison operator==. Так что попробуйте это:

if ($father == "1") { 
    // … 
} else { 
    // … 
} 
+0

Один из способов избежать такого типа опечатки/ошибки заключается в «обратном» состоянии, например: if ('1' == $ father) {...} Таким образом, если вы поместите только один ' = ', вы получите ошибку Parse и немедленно заметите проблему. –

3

Это потому, что у вас есть

if($father = "1")

Вы должны использовать "==". «=» - оператор присваивания. Вы устанавливаете $ father равным «1», даже если это не так.

0

Кроме того, не следует, что последний запрос будет:

"UPDATE stinky_menu SET title = '$chName', nest_under = '$father'"