Импорт RSS

Тема в разделе "PHP для новичков", создана пользователем ART79, 25 май 2007.

  1. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    7.983
    Симпатии:
    1
    Адрес:
    Оттуда

    $result = mysql_fetch_object(mysql_query("SELECT count(*) as CNT FROM..."));

    if(!$result->cnt) ... вствка
     
  2. ma1oy

    ma1oy Активный пользователь

    С нами с:
    26 май 2009
    Сообщения:
    4
    Симпатии:
    0
    не получается, вставляет по 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");
                  
             }
    ?>
     
  3. ma1oy

    ma1oy Активный пользователь

    С нами с:
    26 май 2009
    Сообщения:
    4
    Симпатии:
    0
    Всем спасибо, все разобрался в чем проблема)))

    if(!$result->cnt)

    cnt ужно было указать в верхнем регистре CNT
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    7.983
    Симпатии:
    1
    Адрес:
    Оттуда
    а, ну да... сорри.
    Акелла промахнулся.
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    7.983
    Симпатии:
    1
    Адрес:
    Оттуда
    совет. делай mysql_escape_string() при работе со строками. частенько кавычки пролетают и тогда у тебя ошиька будет.
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.068
    Симпатии:
    7
    Ага!

    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);}
        }
    }
     
    Это так, чтобы знал! :)
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    7.983
    Симпатии:
    1
    Адрес:
    Оттуда
    еще кашерно передавать массив или переменную. и смотреть что обрабатывыать. потому как я обычно потом массивы скармливаю построителю запросов.
     
  8. ANshistcko

    ANshistcko Активный пользователь

    С нами с:
    21 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    Россия Москва
    Спасибо большое!
     
  9. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.068
    Симпатии:
    7
    Только теперь не так:
    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
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    четай внематильно
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.068
    Симпатии:
    7
    mysql_escape_string()
    в данном случае не используется для базы, теперь лучше используем addslashes для других целей.