2009-07-18 65 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

没有忘记你在哪里update语句条款? – 2009-07-18 15:22:38

回答

2

尝试:

if ($father == 1){} 

阅读here约比较运算符。 “=”是赋值运算符。

看看这个,看看你的代码做什么:

<?php 
    $father = 55; 

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

    echo $father; 
?> 

这版画 “1”。

4

您正在使用assignment operator=而不是comparison operator==。所以,试试这个:

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

避免这种错字/错误的一种方法是“反转”条件,如下所示: if('1'== $ father){...} 这样,如果您只放一个' =',你会得到一个分析错误,立即注意到这个问题。 – 2009-07-18 16:33:51

3

那是因为你有

if($father = "1")

你需要使用 “==”。 “=”是赋值运算符。您将$父设置为等于“1”,即使它不是。

0

而且,不应该是最后的查询是:

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