1

Тема: Ошибка Mysql Query failed_tl : You have an error in your SQL...

Всем привет, есть одна cms Radiocms (система управления интернет радио-станцией), а там есть и внешние модули вот и в них проблема, создаю файл php ну а там код, потом сохраняю и заливаю файл перехожу, а там мне пишет:

Query failed_tl : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

к сожалению экспортированный файл sql дать не могу, т.к он слишком большой

2

Re: Ошибка Mysql Query failed_tl : You have an error in your SQL...

к сожалению тут экстрасенсов нет )

3

Re: Ошибка Mysql Query failed_tl : You have an error in your SQL...

пишет tarasian666:

к сожалению тут экстрасенсов нет )

Тогда вот файл sql http://narod.ru/disk/55685191001.4d5050 … o.sql.html
и сам php файл:

<?php
include 'set_db.php';
include 'config.php';

$query = "SELECT * FROM `settings` WHERE `name` = 'online' LIMIT 1 ";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {$on_air = $line['value'];}


// опередляем параметры
$status_ip = $ip;
$status_port = $port;

$status_vivod = 7; // сколько выводить
if ($net_povtorov > $status_vivod) $status_vivod = $net_povtorov; // но не меньше чем нужно для плейлиста на главной

// подключаемся к серверу
$fp2 = fsockopen($status_ip, $status_port, $errno, $errstr, 1); //open connection
if(!$fp2) {
    $status_success=2;  //set if no connection
}

// если успешно подключились
if($status_success!=2){ //if connection
 fputs($fp2,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla Compatible)\r\n\r\n"); //get status2.xsl
 while(!feof($fp2)) {
  $page .= fgets($fp2, 1000);
 }
 fclose($fp2); //close connection
 $page = ereg_replace(".*<pre>", "", $page); //extract data
 $page = ereg_replace("</pre>.*", ",", $page); //extract data
 $page = str_replace("\n","",$page);
    $rf_ez = file($cf_ezstream);
    if ($rf_ez) {for ($i=0; $i<count($rf_ez); $i++) {
    if (strpos($rf_ez[$i], '<url>')!==false) {
    $cf_ez_url = $rf_ez[$i];}}}
    $cf_ez_url =  str_replace("</url>","",$cf_ez_url);
    $cf_ez_url =  str_replace("<url>","",$cf_ez_url);
    $cf_ez_url = explode("/",$cf_ez_url);
    $cf_ez_url = $cf_ez_url[3];
    $cf_ez_url = str_replace("\n","",$cf_ez_url);
    $cf_ez_url = trim($cf_ez_url);

 $numbers = explode(",/",$page);
 unset($numbers[0]);
 foreach ($numbers as $value) {
     if (isset($full_numbers)) {$full_numbers .= "||$value";} else {$full_numbers = "$value";}
 }

 $full_numbers = addslashes($full_numbers);

 if (!function_exists("iconv")) {echo "Библиотека iconv не установлена.";} else { $full_numbers= iconv('UTF-8','windows-1251' ,$full_numbers); }

 if ($full_numbers!="") {
     $query="SELECT * FROM  `settings` WHERE `name`='listeners' LIMIT 1";
     $result = mysql_query($query) or die("Query failed : " . mysql_error());
    if ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $query=" UPDATE `settings` SET `value` = '$full_numbers' WHERE `name`= 'listeners';";
         $result=mysql_query($query) or die("Query failed 4: " . mysql_error());;
    } else {
        $query="INSERT INTO `settings` ( `name` , `value` ) VALUES ('listeners', '$full_numbers');";
         $result=mysql_query($query);
    }
    $query="SELECT * FROM  `settings` WHERE `name`='listeners' LIMIT 1";
     $result = mysql_query($query) or die("Query failed : " . mysql_error());
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $full_numbers = $line['value'];
    }

     $full_numbers = explode("||",$full_numbers);
     foreach ($full_numbers as $value) {
         $value = explode(",",$value);
         if ($value[0]==$cf_ez_url) {
             $status_cur_song = $value[5];
             $tochka = $value[0];
         }
     }

    $system_stream = "";
    $query="SELECT * FROM  `settings` WHERE `name`='stream' LIMIT 1";
     $result = mysql_query($query) or die("Query failed : " . mysql_error());
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $system_stream = $line['value'];
    }
    $system_stream = explode(",",$system_stream);
    $system_stream[] = $tochka;
    $stream = array("");
    foreach ($system_stream as $v) {
        $stream[] = trim($v);
    }
    $stream = array_unique($stream);
    $listeners = 0;
     foreach ($full_numbers as $value) {
         $value = explode(",",$value);
         foreach ($stream as $v) {
            if ($value[0]==$v) {
                $listeners = $listeners+$value[3];
            }
        }
    }
 }
}
if ($listeners == "" ) { $listeners = 0; }
$status_listeners = $listeners;
//echo "<br>$listeners";
//разделяем артиста и заголовок
preg_match("/^([^$]+) - ([^$]+)$/",$status_cur_song, $matches);

$arr_artist = explode(" - ",$matches[1]);
$seychat[artist] = $arr_artist[1]; // артист
$seychat[title] = $matches[2]; // исполнитель
$status_cur_song = "$seychat[artist] - $seychat[title]";
//echo "$seychat[artist] - $seychat[title]<br>";

// получаем адрес файла
$query = "SELECT * FROM `songlist` WHERE `artist` LIKE '".addslashes($seychat[artist])."' and `title` LIKE '".addslashes($seychat[title])."'";
$update_result = mysql_query($query);
if ($line = mysql_fetch_array($update_result, MYSQL_ASSOC)) {
$update_filename = $line['filename'];
$update_idsong =  $line['idsong'];
}
//echo $update_filename;

// получаем последнюю добавленную строку
$status_result = mysql_query("SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT 10");
$status_title0 = mysql_result($status_result,0,"title");
$update_idsong0 = mysql_result($status_result,0,"idsong");
$update_idsong1 = mysql_result($status_result,1,"idsong");
$update_idsong_id1 = mysql_result($status_result,1,"id");

// Убираем два одинаковых трека
if ($update_idsong1 == $update_idsong0) {
    mysql_query(" DELETE FROM `tracklist` WHERE `id` = '$update_idsong_id1' ");
}

//если есть системная константа
$system_symvol = strpos($status_cur_song, $system_symvol);

$time = date("U");

/* отображать live вместо play (если есть подключение к live) */
/*
    foreach ($full_numbers as $value) {
         $value = explode(",",$value);
            if ($value[0]=="live") {
                $ssd = explode ("-",$value[5]);
                $status_cur_song = $ssd[1]." - ".$ssd[2];
        }
    }
*/
/* end */

// если проблемы
if ( $status_cur_song == "" ) {
    $status_cur_song = "Нет данных";
}

// если прямой эфир
if ( $on_air == "2" ) {
    $status_cur_song = "Прямой эфир";
}

// добовляем новую строку
if (($status_title0 != $status_cur_song) and ($system_symvol === false)) {
mysql_query("INSERT INTO `tracklist` ( `title`, `filename`,  `idsong`,  `time`) VALUES ('".addslashes($status_cur_song)."', '$update_filename', '$update_idsong', '$time')");}


// не допускаем повторы
$net_povtorov_array = array();
$ipp = 0;
$query = "SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT ".$net_povtorov;
$result = mysql_query($query) or die("Query failed_tl : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $net_povtorov_array[$ipp] = $line['filename'];
    $ipp = $ipp+1;
}



$status_result = mysql_query("SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT 10");
$t = 0;
while ($line = mysql_fetch_array($status_result, MYSQL_ASSOC)) {
    $t_p[$t] = $line['title'];
    $t++;
}


$trackplay9 = $t_p[8];
$trackplay8 = $t_p[7];
$trackplay7 = $t_p[6];
$trackplay6 = $t_p[5];
$trackplay5 = $t_p[4];
$trackplay4 = $t_p[3];
$trackplay3 = $t_p[2];
$trackplay2 = $t_p[1]; // то что выше - играло раньше
$trackplay1 = $t_p[0]; // сейчас играет

$dlinna1 = strlen($trackplay1);
$dlinna2 = strlen($trackplay2);
$dlinna3 = strlen($trackplay3);
$dlinna4 = strlen($trackplay4);
$dlinna5 = strlen($trackplay5);
$dlinna6 = strlen($trackplay6);

// Сокращать названия если там больше $obr символов
$obr = 60;

if ($dlinna1 > $obr) {$trackplay1 = substr($trackplay1, 0, $obr);  $trackplay1 = $trackplay1.'..';}
if ($dlinna2 > $obr) {$trackplay2 = substr($trackplay2, 0, $obr);  $trackplay2 = $trackplay2.'..';}
if ($dlinna3 > $obr) {$trackplay3 = substr($trackplay3, 0, $obr);  $trackplay3 = $trackplay3.'..';}
if ($dlinna4 > $obr) {$trackplay4 = substr($trackplay4, 0, $obr);  $trackplay4 = $trackplay4.'..';}
if ($dlinna5 > $obr) {$trackplay5 = substr($trackplay5, 0, $obr);  $trackplay5 = $trackplay5.'..';}
if ($dlinna6 > $obr) {$trackplay6 = substr($trackplay6, 0, $obr);  $trackplay6 = $trackplay6.'..';}

if ($trackplay1 == "" or $trackplay1 == " - ") {$trackplay1 = "Нет данных";}
if ($trackplay2 == "" or $trackplay2 == " - ") {$trackplay2 = "Нет данных";}
if ($trackplay3 == "" or $trackplay3 == " - ") {$trackplay3 = "Нет данных";}
if ($trackplay4 == "" or $trackplay4 == " - ") {$trackplay4 = "Нет данных";}
if ($trackplay5 == "" or $trackplay5 == " - ") {$trackplay5 = "Нет данных";}
if ($trackplay6 == "" or $trackplay6 == " - ") {$trackplay6 = "Нет данных";}

$status_q = mysql_query("SELECT * FROM `tracklist`");
$status_zapisei = mysql_num_rows($status_q);

// удаляем лишнюю строку
mysql_query("DELETE FROM `tracklist` WHERE $status_zapisei>$status_vivod ORDER BY `id` LIMIT 2;");

?>

4

Re: Ошибка Mysql Query failed_tl : You have an error in your SQL...

и пожалуйста можно побыстрей, мне очень срочно надо...
Спасибо

Отредактировано Aдиль (08-07-2012 20:17:12)

5

Re: Ошибка Mysql Query failed_tl : You have an error in your SQL...

я только не пойму, зачем мне sql файл?..
Ошибка синтаксиса sql запроса.

ошибка происходит тут

$query = "SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT ".$net_povtorov;
$result = mysql_query($query) or die("Query failed_tl : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $net_povtorov_array[$ipp] = $line['filename'];
    $ipp = $ipp+1;
}

скорей всего переменная $net_povtorov - не задана

6

Re: Ошибка Mysql Query failed_tl : You have an error in your SQL...

пишет tarasian666:

я только не пойму, зачем мне sql файл?..
Ошибка синтаксиса sql запроса.

ошибка происходит тут

$query = "SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT ".$net_povtorov;
$result = mysql_query($query) or die("Query failed_tl : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $net_povtorov_array[$ipp] = $line['filename'];
    $ipp = $ipp+1;
}

скорей всего переменная $net_povtorov - не задана

Все проблему решил спасибо