Sorgulamak için geçirilen bir değişken üzerinde soru

2 Cevap php
function add_new($father = 0 , $chName, $desc , $icon )  // add new category
{

$position  = $this->get_position($father);
$sql = "INSERT into ".$this->table_name."(position,c_name,c_desc,c_icon,c_group)
    	VALUES('','".$chName."','".$desc."','".$icon."','".$this->Group."')";

mysql_query($sql) or die(trigger_error("<br><storng><u>MySQL Error:</u></strong><br>".mysql_error()."<br><br><storng><u>Query Used:</u></strong><br>".$sql."<br><br><storng><u>Info:</u></strong><br>",E_USER_ERROR));

$sql = "UPDATE ".$this->table_name."
    	SET position = '$father'
    	WHERE id = '".mysql_insert_id()."'";

mysql_query($sql) or die(trigger_error("<br><storng><u>MySQL Error:</u></strong><br>".mysql_error()."<br><br><storng><u>Query Used:</u></strong><br>".$sql."<br><br><storng><u>Info:</u></strong><br>",E_USER_ERROR));

}

Işleri baba değişken almaz rağmen UPDATE sorgusu yapar Şimdi neden benim soru. Ben olsun onun uygulanamaz emin değilim.

2 Cevap

Sen $position değişkeni kullanarak değiliz - ve iki sorgu yaptığınızı neden görmüyorum:

function add_new($father, $chName, $desc, $icon)  // add new category
{
    $position  = $this->get_position($father);
    $sql = "INSERT into ".$this->table_name."(position,c_name,c_desc,c_icon,c_group)
        VALUES('" . $position . "','".$chName."','".$desc."','".$icon."','".$this->Group."')";

    mysql_query($sql) or die('snip');
}

Additinally, varsayılan parametreler yalnızca parametre listesinin sonunda mantıklı.

Ben varsayılan değerlerine sahip değişkenleri bağımsız değişken listesinin sonunda yer olduğuna inanıyoruz.

function add_new($var1, $var2, $father = 0) { /*...*/ }

"Varsayılan argümanlar kullanarak, herhangi bir varsayılan herhangi bir varsayılan olmayan argümanlar sağ tarafında olması gerektiğini unutmayın; beklendiği gibi aksi halde, işler olmaz."

http://us.php.net/manual/en/functions.arguments.php