1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Ошибка в запросе MySQL

Тема в разделе "Web Coding", создана пользователем Rem, 18 янв 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Rem

    Rem

    Регистр.:
    22 сен 2006
    Сообщения:
    472
    Симпатии:
    41
    Здраствуйте!
    Есть страничка которая отвечает за вывод из базы сайтов и значение тиц и пр. Добавил форму для удаления сайтов ииз базы и при попытки удаления сайта выскакивает ошибка
    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 ''(8)'' at line 1
    DELETE FROM rxd_buttons WHERE id IN '(8)'

    Не подскажите в чем моя ошибка.
    Вот код файла

    Код:
    <?
    session_start();
    // Подключаем конфигурацию
    include_once ("../includes/config.php");
    include_once ("../includes/func.php");
    include_once ("theme/header.tpl");
    ?>
    <table width="100%"><tr><td valign="top" width="20%">
    <? $stB4 = "style='font-weight:bold;'";
    include_once ("leftmenu.php");
    
    $domain = "SELECT id, url, pr, cy FROM rxd_buttons ";
    $guery = mysql_query ($domain);
    echo "<td width='80%' valign='top'><!-- MAIN -->
    <table width='50%' height='18' border='1' cellpadding='4' cellspacing='1' bordercolor='#FFFFFF' bgcolor='#CCCCCC'><tr><td height='18' background='/admin/theme/img/bg.gif' bgcolor='#FFFFFF'><span class='style1'>&nbsp;Домены</span></td></tr></table>";
    echo "<table width=\"50%\" border=\"0\" cellpadding=\"4\" cellspacing=\"1\" bgcolor=\"#CCCCCC\">
    <tr align=\"center\" valign=\"middle\" bgcolor=\"#F0F8FF\">
    <td width=\"65\" align=center>ID</td>
    <td width=\"65\" align=center>Домен</td>
    <td width=\"65\" align=center>PR</td>
    <td width=\"65\" align=center>CY</td>
    <td width=\"65\" align=center>DEL</td></tr>
    <form action=\"$PHP_SELF\" method=\"POST\">";
    while ($result = mysql_fetch_array ($guery))
       {
    echo "<tr valign=middle bgcolor=#FFFFFF>
    <td align=center>".$result["id"]."</td>
    <td align=center><a href =\"http://$result[url]\" target=_blank>".$result["url"]."</a></td>
    <td align=center>".$result["pr"]."</td>
    <td align=center>".$result["cy"]."</td>
    <td align=center><input type=\"checkbox\" name=\"del[]\" value=\"$result[id]\"></td></tr>";
       }
       echo "<input type=\"submit\" value=\"Удалить\">
       </form>";
    echo "</table>";
    ?>
    	</td>
      </tr>
    </table>
    <!-- / MAIN -->
    </td></tr></table>
    
    <?
    $del = $_POST ['del'];
    if (!empty ($del))
       {
         $query = "'(";
         foreach($del as $val) $query .= "$val,";
         $query = substr($query, 0, strlen($query) - 1).")'"; 
         $query = "DELETE FROM rxd_buttons WHERE id IN ".$query; 
         if(!mysql_query($query)) 
       { 
         echo mysql_error()."<br>"; 
         echo $query."<br>"; 
       }
     }
    include_once ("theme/footer.tpl");
    ?>
     
  2. bueno

    bueno Читатель

    Заблокирован
    Регистр.:
    7 май 2007
    Сообщения:
    236
    Симпатии:
    69
    на вскидку
    1.
    Код:
    <input type=\"checkbox\" name=\"del[]\" value=\"{$result['id']}\">
    
    2.
    Код:
    if (!empty($_POST['del']))
       {  
         $query = '('.implode(',', $_POST['del']).')';
         $query = "DELETE FROM rxd_buttons WHERE `id` IN ".$query; 
         if(!mysql_query($query)) 
       { 
         echo mysql_error()."<br>"; 
         echo $query."<br>"; 
       }
     }
    
    зы.. не забывай кавычки ставить
    href =\"http://{$result['url']}\"
     
    Rem нравится это.
  3. nopase

    nopase Создатель

    Регистр.:
    6 май 2007
    Сообщения:
    49
    Симпатии:
    22
    DELETE FROM rxd_buttons WHERE id IN '(8)'
    Кавычки вокруг скобок здесь - точно ошибка
     
  4. Rem

    Rem

    Регистр.:
    22 сен 2006
    Сообщения:
    472
    Симпатии:
    41
    Все отлично работает, благодарю!
     
Статус темы:
Закрыта.