Ben başka bir soru dan nstrees üzerine döndü, ve komut dosyası aracılığıyla çalışıyoruz. Bu son 2005 yılında güncellenen ve görünüşe HTTP_POST_VARS
ki ben bir yıl daha sadece biraz daha az PHP yapıyor beri hemen tanıdık değildi gibi onaylanmaz zamandan beri bazı şeyler dayanmıştır.
Her neyse, kodlama stili benim çaylak gözlerine garip görünüyor, ve ben yok, bu fonksiyonun hangi bölümünün ikinci bir görüş istiyorum:
// returns the first node that matches the '$whereclause'.
// The WHERE clause can optionally contain ORDER BY or LIMIT clauses too.
function nstGetNodeWhere ($thandle, $whereclause) {
$noderes['l'] = 0;
$noderes['r'] = 0;
$res = mysql_query("SELECT * FROM ".$thandle['table']." WHERE ".$whereclause);
if (!$res) { // problem area 1
_prtError();
} else {
if ($row = mysql_fetch_array($res)) { // problem area 2
$noderes['l'] = $row[$thandle['lvalname']];
$noderes['r'] = $row[$thandle['rvalname']];
}
}
return $noderes;
}
Yukarıdaki kodda ben // problem area x
, her şey orijinal senaryo olduğu hakkında oldukça emin değilim noktalar işaretlenir.
PA1 ilgili olarak, sadece sorgu başarıyla çalıştırıldı olup olmadığını bir kontrol olduğunu?
Ve PO2, NetBeans bana bir uyarı "Possible accidental assignment, assignments in conditions should be avoided." ... o yüzden derhal =
için ==
ve tabii gelen heh, senaryoyu kırdı değişti verir.
Bunu düşünmek, ben $res
sadece bir hata kontrol, bazı veriler aslında iade edildi emin olmak için bu sefer sanırım?
Son olarak, bu tuhaf PHP ya da ben sadece çok yeşil bunu grok am?
Teşekkürler dostum (tte) ler!