Показать сообщение отдельно

  #13  
Старый 11.04.2009, 18:24
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

эм ну скромно добавлю посоветую вернее... почитай внимательно документацию по SQL запросам очень много интересного.

Ваще базы данных эт наука ) со своей теорией (в нете можно многое найти)

ну а чисто полезные советы:
если ты делаешь SELECT * FROM но используешь тока например поле user_id
это очень плохой тон тк базе да и памяти срипта потребуется больше времени на обработку чем если бы ты сделал SELECT user_id FROM

очень часто нужно узнать количество полей там или подсчитать ченить
начинающие программисты делают так

SELECT * FROM и потом смотрят mysql_num_rows или ваще цикл $cnt++ ))

в MySQL есть такая интересная штука как count()

PHP код:
function rows($che,$tab,$par='')
    {
    
$w='';
    if(
$par<>''){$w='where';}

    
$sql=mysql_query("select count($che) as \"cnt\" from $tab $w $par");
    
$row=mysql_fetch_array($sql,MYSQL_ASSOC);
    
mysql_free_result($sql);
    
    return 
$row['cnt'];
    } 
заметь я указываю аргумент у mysql_fetch_array потомучто без него функция возращяет 2 массива один с именами другой с цифрами типа $row[0], $row[id] + mysql_free_result($sql) - освобождает память от уже ненужных данных

есть еще интересная функция например max которая выберает максимальный элемент одним запросом... почитай в общем.

Ну и не забывай о безопасности
всегда значения передаваемые в WHERE пиши в кавычках типа WHERE id='1' это спасет тебя если на серверы включены magic_quotes_gpc типа id=1' OR 1=1/*

ВСЕ входящиее переменные особено $_GET нужно проверять и явно указывать их тип (спасет от подстав типа ?page[]=2)

например так

$id=preg_replace("/\D/","",(int)$_GET['id']);

Удаче, товарищь! )
 
Ответить с цитированием