За последние 24 часа нас посетили 56420 программистов и 1778 роботов. Сейчас ищут 882 программиста ...

preg_match_all - foreach

Тема в разделе "Прочие вопросы по PHP", создана пользователем rustoke, 24 ноя 2015.

  1. rustoke

    rustoke Новичок

    С нами с:
    20 сен 2014
    Сообщения:
    145
    Симпатии:
    0
    Почему $val3[0] в массиве ничего не выводит ?? Если внутри sql запроса вместо value прописать числом, то работает, с value нет
    Код (PHP):
    1. <?php 
    2. require "mysql.php";
    3. $sContent = "werwe rewrwer <xx>113</xx>  werwe <> <x> dsf s <xx>117</xx> ... <xx>119</xx> ...";
    4. if (preg_match_all('|<xx>(.+)</xx>|isU', $sContent, $arr)) { 
    5.     //$val2 = array('1','2','3');
    6.     foreach($arr[0] as $value){
    7.         echo $value." ";
    8.         $val3 = mysql_fetch_array(mysql_query("SELECT title, id FROM csfd_datasources WHERE id IN (SELECT value FROM csfd_params WHERE csfd_item_id = '2459603' AND element_id = '".$value."' ) ", $link));
    9.  
    10.         //echo $val3[0]."<br>";
    11.         echo $val3[0]."<br>";
    12.  
    13.         $rep = '<xx>'.$value.'</xx>';
    14.         $bodytag = str_replace($rep, $val3[0], $sContent);
    15.     }    
    16.     echo $bodytag;
    17. } 
    18.  
     
  2. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Ответ: потому что запрос получается неправильный.
           — К.О.

    Посмотри что там у тебя попадает в mysql_query(). Не надо догадок, надо точно знать. http://phpfaq.ru/debug