Оператор обновления не работает - PullRequest
0 голосов
/ 18 июля 2009
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'");

     }

 }

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

Ответы [ 4 ]

4 голосов
/ 18 июля 2009

Вы используете оператор присваивания = вместо оператора сравнения ==. Так что попробуйте:

if ($father == "1") {
    // …
} else {
    // …
}
3 голосов
/ 18 июля 2009

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

if($father = "1")

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

2 голосов
/ 18 июля 2009

Попробуйте:

if ($father == 1){}

Читайте здесь об операторах сравнения. «=» - оператор присваивания.

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

<?php
    $father = 55;

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

    echo $father;
?>

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

0 голосов
/ 18 июля 2009

Кроме того, последний запрос не должен быть:

"UPDATE stinky_menu SET title  = '$chName', nest_under = '$father'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...