geval 3 Опубликовано 13 августа, 2014 Жалоба Share Опубликовано 13 августа, 2014 есть вот такой код $q="select p.products_id, pd.products_name, p.products_image, p.products_price from products p, products_description pd where p.products_id=pd.products_id AND products_model='".$_REQUEST['article']."' limit 2"; $r=mysql_query($q); в версиях 1.65 и ниже работает. в версии 1.72 не работает, то есть поиск по артикулу не функционирует.. пишет не найдено. Вопрос, менялись ли переменные в последних версиях, настолько? именно дело касается артикула товара.. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 13 августа, 2014 Жалоба Share Опубликовано 13 августа, 2014 Напрямую функции работы с базой использовать не желательно. Попробуйте mysql_query заменить на vam_db_query Обёртки для функций как раз и сделаны для того что б не было таких проблем. Да, менялись функции mysql на mysqli, но это внутри обёрток vam_db_ функций было сделано. Ссылка на сообщение Поделиться на другие сайты
geval 3 Опубликовано 17 августа, 2014 Автор Жалоба Share Опубликовано 17 августа, 2014 замена такая не помогла. суть в том, что был сделан код, который по артикулу выводит html виджет ( картинка товара, ссылка на сам товар). то есть выбирает из базы данные и выдает код хтмл для копирования... вплоть до 1.65 версии все работает, свыше - пишет product not found.. в целом может кому пригодится ( а может кто и исправит)- вот весь код виджета: <? $article=$_REQUEST['article']; $withcart=$_REQUEST['withcart']; $withlink=$_REQUEST['withlink']; $withlink=true; ?> <CENTER><FORM METHOD=POST ACTION=""> <B>Создание виджета</B><BR> Артикул <INPUT TYPE="text" NAME="article" VALUE="<?=$article?>"><BR> <INPUT TYPE="checkbox" NAME="withlink"<? echo ($withlink ? ' CHECKED': ''); ?>> Со ссылкой<BR> <INPUT TYPE="checkbox" NAME="withcart"<? echo ($withcart ? ' CHECKED': ''); ?>> С корзиной<BR> <INPUT TYPE="hidden" NAME="sent" VALUE="22"> <INPUT TYPE="submit" VALUE="Создать код виджета"> </FORM> </CENTER> <? if($_REQUEST['sent']==22){ //echo "<BR><B>".__FILE__." (".__LINE__.")</B><BR><div align=left color=green><PRE>"; print_r($_REQUEST); echo "</PRE></div>"; $prm=file('vidjet_conf.txt'); if(is_array($prm))foreach ($prm as $k => $v) { $y=preg_split('@\s*\:\s*@', trim($v), 2); if(count($y)==2) $p[$y[0]]=$y[1]; } $texts=preg_split('@\s*\;\s*@', $p['text']); $tt= array_rand($texts); $tt=$texts[$tt]; chdir('..'); include ('includes/application_top.php'); $q="select p.products_id, pd.products_name, p.products_image, p.products_price from products p, products_description pd where p.products_id=pd.products_id AND products_model='".$_REQUEST['article']."' limit 2"; $r=vam_db_query($q); //echo "<BR><B>".__FILE__." (".__LINE__.")</B><BR> ".mysql_error()." <BR>"; //echo "<BR>ff=".mysql_num_rows($r)."<B>".__FILE__." (".__LINE__.")</B><BR><div align=left color=green><PRE>"; print_r($r); echo "</PRE></div>"; //echo "<BR><B>".__FILE__." (".__LINE__.")</B><BR> <CENTER><TEXTAREA ROWS=8 style='width:90%'>".htmlspecialchars($q)."</TEXTAREA></CENTER> <BR>"; if(mysql_num_rows($r)==0){ echo "Product not found!<BR>"; }else { if($list=mysql_fetch_row($r)) { list($id,$name,$im,$pr)=$list; $name=str_replace('"', ' ', $name); $base="http://".$_SERVER['HTTP_HOST']."/"; $src=$base.'images/product_images/thumbnail_images/'.$im; //echo "<BR><B>".__FILE__." (".__LINE__.")</B><BR> =$ <BR>"; $link= vam_href_link(FILENAME_PRODUCT_INFO, vam_product_link($id, $name)); //echo "<BR><B>".__FILE__." (".__LINE__.")</B><BR> =$ <BR>"; //echo "<BR><B>".__FILE__." (".__LINE__.")</B><BR><div align=left color=green><PRE>"; print_r($list); echo "</PRE></div>"; $pr=round($pr,2); $w='<BR><img src="'.$src.'" alt=" купить '.$name.'" title="'.$name.'"><BR><strong>'.$name.'</strong>'; if($withlink){ $w.='<BR><a target="_blank" href="'.$link.'">'.$tt.' <img src="'.$p['arrow_url'].'" alt="Купить '.$name.'" title=" Купить '.$name.'" border="0"></a>'; }; if($withcart){ $w.='<BR><a target="_blank" href="'.$link.'?action=buy_now&BUYproducts_id='.$id.'"> <img src="'.$p['cart_picture'].'" alt="Купить '.$name.'" title=" Купить '.$name.'" border="0"></a>'; }; /* $w='<img src="'.$src.'" alt=" купить '.$name.'" title="'.$name.'"> <strong><a href="'.$link.'">'.$name.'</a></strong> <br> <br> <a href="'.$base.''.$link.'">Подробное описание товара<img src="'.$base.'images/product_images/thumbnail_images/'.$im.'" alt="Купить '.$name.'" width="32" height="32" border="0"></a><br> <p>Розничная цена: <strong> $pr руб. </strong></p> '; */ echo '<div align=center style="border: solid red 1px">'.$w.'</div>'; echo "<BR> <CENTER><TEXTAREA ROWS=8 style='width:90%'>".htmlspecialchars($w)."</TEXTAREA></CENTER> <BR>"; }; }; include ('includes/application_bottom.php'); } ?> Ссылка на сообщение Поделиться на другие сайты
geval 3 Опубликовано 17 августа, 2014 Автор Жалоба Share Опубликовано 17 августа, 2014 а конфиг файл соответственно упомянут который в файле тут- такой arrow_url: http:/адрес сайта.ru/images/arrow-green.png text: Подробное описание товара; Подробнее про товаре; Узнайте другие свойства; Все подробности; Узнать подробнее; cart_picture: http://адрес сайта/templates/monamur_hardwarestore/buttons/russian/button_in_cart.gif Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 августа, 2014 Жалоба Share Опубликовано 17 августа, 2014 Все mysql_ надо менять на vam_db_ , например mysql_numw_rows не изменено. Ссылка на сообщение Поделиться на другие сайты
geval 3 Опубликовано 18 августа, 2014 Автор Жалоба Share Опубликовано 18 августа, 2014 поменял везде, теперь при вводе артикула и запуске скрипта вообще ничего не выводится. в логах такая ошибка [Mon Aug 18 11:29:09 2014] [error] [client 176.9.137.138] PHP Notice: Use of undefined constant E_DEPRECATED - assumed 'E_DEPRECATED' in /var/www/------/includes/application_top.php on line 12, referer: http://----/tmp/vidjet.php а в 12й строке вот такая штука ( видимо за вывод ошибок отвечает?) error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT); может как-то ее изменить, чтобы ошибки были показаны? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 18 августа, 2014 Жалоба Share Опубликовано 18 августа, 2014 Вряд ли в этой строке дело. Хотя попробуйте поставить например: error_reporting(0); Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения