Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Апач пишет ошибка запроса
 
 автор: mjc66   (22.10.2007 в 07:00)   письмо автору
 
 

Написал скрипт поиска по БД:

<?php
//соединение с MySQL
include "config_mysql.php";

if( ! 
function_exists 'mysql_real_escape_string' ) )
{
    function 
mysql_real_escape_string$value )
    { return 
addslashes($value); }
}

//переменные
@$id =$_GET['id'];
@
$firma =$_GET['firma'];
@
$model mysql_real_escape_string($_GET['model']);
@
$type =$_GET['type'];
@
$money =$_GET['money'];

//checkboxes
if ( empty($model ) )
{
    
// не заполнено поле
    
print("<div class='search' align='center'>
                    <font color='#CC0000'><b>Необходимо заполнить поле поиска!</b></font></div>"
);
} else {

if (isset(
$id)) { 
    
$srch='id';} // - имя столбца в таблице
    
if (isset($firma)) { 
        
$srch='firma';} //firma - имя столбца в таблице
        
if (isset($model)) {
            
$srch='model';} //model - имя столбца в таблице
            
if (isset($type)) {
                
$srch='type';} //type - имя столбца в таблице
                
if (isset($money)) {
                    
$srch='money';} //money - имя столбца в таблице    

                
@$query "SELECT * FROM 01 WHERE $srch LIKE '%".mysql_escape_string(addslashes($model))."%' ";
                
$result mysql_query($query) or die('Ошибка запроса');

                if ( 
mysql_num_rows($result) == ) {
                    print(
"<div class='search' align='center'>
                    <font color='#CC0000'><b>По вашему запросу ничего не найдено! Попробуйте изменить запрос.</b></font></div>"
);
                } else {
                    print(
"<h1 align='center' class='search'>Результат поиска:</h1><table border='1' cellspacing='1' cellpadding='1' class='search'><tr><td width='40%' class='search_top' align='center'><b>ФІРМА</b></td><td width='40%' class='search_top' align='center'><b>МОДЕЛЬ</b></td><td width='10%' class='search_top' align='center'><b>ТИП</b></td><td width='10%' class='search_top' align='center'><b>ЦІНА С\І</b></td></tr>");
                    
// Переменная i следит чередование цвета
                    
$i 0;
                    while(
$t = @mysql_fetch_array($result)) {
                        
$i++;
                        
$class = ( $i == ) ? "odd" "even";
                        print(
'
            <style> 
            .odd{background:00CCFF}  
            .even{background:33FFFF}  
            </style>
          <tr class="'
.$class.'">
           <td  width="40%" class="search">'
.$t['firma'].'</td>
           <td  width="40%" class="search">'
.$t['model'].'</td>
           <td  width="10%" class="search">'
.$t['type'].'</td>
           <td  width="10%" class="search">'
.$t['money'].'</td>
          </tr>'
);
                    }

                    print(
"</table>");
                }
}
?>

Протестировал на Апаче - выводится сообщение "ошибка запроса". Где там ошибка в упор не вижу?!

   
 
 автор: sim5   (22.10.2007 в 07:55)   письмо автору
 
   для: mjc66   (22.10.2007 в 07:00)
 

Ужас! Вы прочтите, что такое mysql_escape_string и addslashes, что же вы их так в кучу то. Зачем "собачку" без повода беспокоите? Посмотрите - здесь, ниже, очень много тем по этим вопросам, а в разделе MySQL можете посмотреть как грамотно составляются запросы.

   
 
 автор: mihdan   (22.10.2007 в 12:49)   письмо автору
 
   для: mjc66   (22.10.2007 в 07:00)
 

По вашему коду строка

<style>
.odd{background:00CCFF}
.even{background:33FFFF}
</style>

сгенерится несколько раз. Код, извините, ужасный.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования