Берется id, происходит парсинг, данные записываются, читаются, но если я опять ввожу тот же id, то опять происходит парсинг, а не вывод информации из SQL. Что не так? или я вообще далек от правильного решения?
<?php
define ("HOST", "localhost");
define ("DATABASE", "database");
define ("MYSQL_USER", "user");
define ("MYSQL_PASS", "pass");
mysql_connect(HOST, MYSQL_USER, MYSQL_PASS);
mysql_query("set names utf8");
mysql_select_db(DATABASE);
$id="25040";
$sql=mysql_query("SELECT * FROM descript WHERE id='$id'");
if(description!=NULL){
$content = curl_init ();
curl_setopt ($content , CURLOPT_URL , "url?prodCode={$id}");
curl_setopt ($content , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$product = curl_exec($content);
curl_close($ch);
preg_match('/\<h1 class=\"fn\">.*\<\/h1\>/Uis', $product, $title);
preg_match('/\<p class=\"description\">.*\<\/p\>/Uis', $product, $description);
mysql_query("INSERT INTO `descript`(`id`,`title`,`description`) VALUES ('$id','$title[0]','$description[0]')");
$sql=mysql_query("SELECT * FROM descript WHERE id='$id'");
$res=mysql_fetch_array($sql);
echo $res['title'];
echo $res['description'];
}
else{
$sql=mysql_query("SELECT * FROM descript WHERE id='$id'");
$res=mysql_fetch_array($sql);
echo $res['title'];
echo $res['description'];
}
?>
Тоесть постоянно выполняется инструкция из "if", "else" даже ухом не шевелит. Только не кидайтесь тапками, пожалуйста))
Инструкция IF выполняется потому, что условие
if(description!=NULL)
является не валидным.
Что необходимо изменить:
Получить результат запроса к MySQL в виде массива:
$sql = mysql_query("SELECT * FROM descript WHERE id='$id'");
$res = mysql_fetch_array
($sql, MYSQL_ASSOC);`
Изменить условие для блока IF:
if (empty($res['description'])) {
Оптимизировать код в блоке ELSE - удалить вызов методов mysql_query
и mysql_fetch_array
. Вызывать их нет необходимости, т.к. перед блоком IF происходит точно такая же выборка данных, и массив $res уже будет содержать всю необходимую информацию:
else {
echo $res['title'];
echo $res['description'];
}
После этих изменений блок IF будет срабатывать, если в таблице descript
еще нет записи с id
= $id
Если такая запись есть - будет работать блок ELSE
if(description!=NULL){
Имелось ввиду вероятно
if(isset($description) && $description != null){
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
После регистрации пользователю записывается в базу данных (поле date_reg тип DATE) дата регистрации, вот как подсчитать и вывести количество дней...
Всем добрый день! Ребята,помогите ошибку найти в коде:
Как узнать id пользователя по сессии? $_SESSION['ник пользователя'] можно к нику привязать, но надо к id