$result = mysql_fetch_object(mysql_query("SELECT count(*) as CNT FROM...")); if(!$result->cnt) ... вствка
не получается, вставляет по 2 новости PHP: <? $result = mysql_fetch_object(mysql_query("SELECT count(*) as CNT FROM b_iblock_element WHERE NAME = '$TITLE'")); #$newsold = mysql_query("SELECT * FROM b_iblock_element WHERE NAME = '$TITLE'"); if(!$result->cnt) { $query = "INSERT INTO b_iblock_element (NAME,DETAIL_TEXT,DATE_CREATE,TIMESTAMP_X,ACTIVE_FROM,IBLOCK_ID,DETAIL_TEXT_TYPE,CREATED_BY) VALUES('". $TITLE."','".$DESC."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".$BLOCK."','".$TEXTTYPE."','".$CREATEDBY."')"; $result = mysql_query($query); print($result); print("insert"); } else { $query = "UPDATE b_iblock_element SET NAME = '".$TITLE."', DETAIL_TEXT = '".$DESC."', DATE_CREATE = '".date('Y-m-d H:i:s',$DATE)."', TIMESTAMP_X = ".date('Y-m-d H:i:s',$DATE)."', ACTIVE_FROM = ".date('Y-m-d H:i:s',$DATE)."', IBLOCK_ID = ".$BLOCK."', DETAIL_TEXT_TYPE = ".$TEXTTYPE."', CREATED_BY = ".$CREATEDBY."' WHERE NAME = '$TITLE'"; $result = mysql_query($query); echo "Результат: $result"; print("update"); } ?>
Всем спасибо, все разобрался в чем проблема))) if(!$result->cnt) cnt ужно было указать в верхнем регистре CNT
совет. делай mysql_escape_string() при работе со строками. частенько кавычки пролетают и тогда у тебя ошиька будет.
Ага! Код (PHP): class mysql { private $mysql=false,$sql; public function injects($injects) { if($this->mysql) { return mysql_real_escape_string($injects,$this->mysql); }else{return mysql_escape_string($injects);} } } Это так, чтобы знал!
еще кашерно передавать массив или переменную. и смотреть что обрабатывыать. потому как я обычно потом массивы скармливаю построителю запросов.
Только теперь не так: Код (PHP): if($this->mysql) { return mysql_real_escape_string($injects,$this->mysql); }else{return mysql_escape_string($injects);} А так: Код (PHP): if($this->mysql) { return mysql_real_escape_string($injects,$this->mysql); }else{return addslashes($injects);} mysql_escape_string устаревает, заменим на addslashes
mysql_escape_string() в данном случае не используется для базы, теперь лучше используем addslashes для других целей.