Как можно ускорить работу с MySQL! Помогите ПЛИЗ!

Печать RSS
79

Н

Голубые штаны
0
10. Basters,
$data = array_unique ( $data );
if ( mysql_num_rows ( mysql_query ( "SELECT `num` FROM `mobi` WHERE `num`=".implode (', ', $data)) ) == 0 )
mysql_unbuffered_query ( "INSERT INTO `mobi` SET `num`='".implode (', ', $data)."'" );

Дедушка
0
<?
$data    =    array_unique ( $data );  
if ( mysql_num_rows ( mysql_query ( "SELECT `num` FROM `mobi` WHERE `num`=".implode (", ", $data)) ) == 0 )  
mysql_unbuffered_query ( "INSERT INTO `mobi` SET `num`='".implode (", ", $data)."'" );
?>

ツ ツ ツ
0
толе я автора не понял толе вы ему ерунду какую то пишете, всё данные запишет в одну строку, а ему каждый элемент массива по отдельности нужно записать, если я прав, то в цыкле пусть генерирует один большой insert into tableName (num) value(..),(..),(..) и судя из кода ему нужны только уникальные значения, значить проверка на существование там нафиг не нужна, поле num укажи как UNIQUE

Дедушка
0
13. .::lugaro::., то что я ему написал должно все занести нормально, без цикла, отдельно, а не в строку, автор, пробуй последнее, что я написал

ツ ツ ツ
0
Basters (27 Июля 2010 / 00:25)
13. .::lugaro::., то что я ему написал должно все занести нормально, без цикла, отдельно, а не в строку, автор, пробуй последнее, что я написал
Как оно занесет все отдельно ? 0_о
Функция implode сбивает массив в одну строку
$arr = array(1,2,3);
echo "INSERT INTO `mobi` SET `num`='".implode (", ", $arr)."'";

В результате будет INSERT INTO `mobi` SET `num` = '1,2,3' каки образом оно по отдельности будет записываться?
Изменил: Lugaro (27.07.2010 / 01:31)
О

Землянин
0
<?php
$data 	= array(1,2,3);
$data   =   array_unique ($data);
$str 	= "INSERT INTO `mobi` (blablabla) VALUES ";
foreach ( $data AS $mobile )
{
	if ( mysql_num_rows ( mysql_query ( "SELECT `blablabla` FROM `mobi` WHERE `blablabla`=".$mobile) ) == 0 )
	{
		$str .= " ($mobile),";
	}
}

echo rtrim($str,",").';';

?>

ツ ツ ツ
0
Автор если в поле Num хранятся только уникальные значения, ставь пулю значение UNIQUE и убирай с 16 поста

if ( mysql_num_rows ( mysql_query ( "SELECT `blablabla` FROM `mobi` WHERE `blablabla`=".$mobile) ) == 0 )
ускорит процентов на 70 ато и больше
О

Землянин
0
было бы неплохо структуру таблицы посмотерть
К
Автор
Землянин
0
Все по идее должно работать, но в базу данные не добавляет.
О

Землянин
0
HOUSTON, как это понимать? Можно хотя бы тут привести результат mysql_error();
Возможно, у тебя есть в таблице поля, которым следует обязательно указывать значения.
Для этого, я кстати структуру таблицы попросил, которую ты так и не привел.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск