второй аргумент не обязателен
просто у товарища синоним без подключения, а вызов с ним
# Koenig (16.12.2015 / 18:23)
второй аргумент не обязателен
Ага. Из доков:
Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect().
Тогда нафиг что-то передавать?
# ValekS (16.12.2015 / 18:20)
Ну передали вы $db в функцию. И шо? Оно ж там нигде не используется. Посему делаю вывод: код не будет работать, а если будет - то тогда нафиг это $db передавать в функцию для красоты?
Насколько я
Ну я тоже сперва посмотрел -этого параметра нет в теле функции. Подумал, что надо добавить в указанную строку, а потом вспомнил, что mysql работает с одним параметром.
В db_optimize() ошибка будет. Так как там query() юзается с одним параметром. А в самой функции теперь запрашивается 2 параметра:
function query($query, $db)
{
ValekS, чтоб работать с разными подключениями одновременно.
тут просто надо привести все к одному виду, либо поправить функцию, либо вызовы
Koenig, тот вопрос "нафиг что-то передавать" был адресован к этому скрипту, а не в общем. Я вот так вижу данный код:
// авторизация на сервере базы
if(!($db = @mysql_connect($set['localhost'], $set['db1450262753'], $set['112233'])))
{
//echo $set['localhost'], $set['db1450262753'],$set['112233'];
echo "Нет соединения с сервером базы<br />*проверьте параметры подключения";
exit;
}
// подключение к базе
if (!@mysql_select_db($set['db1450262753']))
{
echo 'База даных не найдена<br />*проверьте, существует ли данная база';
exit;
}
$query_number = 0;
$tpassed = 0;
// Псевдоним mysql_query
function query($query)
{
global $query_number;
global $tpassed;
$query_number++;
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$tstart = $mtime;
$query = mysql_query($query);
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$tend = $mtime;
$tpassed += ($tend - $tstart);
return $query;
}
query('set charset utf8');
query('SET names utf8');
query('set character_set_client="utf8"');
query('set character_set_connection="utf8"');
query('set character_set_result="utf8"');
// оптимизация всех таблиц
function db_optimize()
{
time_limit(20);// Ставим ограничение на 20 секунд
$tab = query('SHOW TABLES');
while ($tables = mysql_fetch_array($tab))
{
query("OPTIMIZE TABLE `$tables[0]`");
}
}
Не пойму только что вот это ещё за параметры подключения такие:
$set['localhost'], $set['db1450262753'], $set['112233']
Где этот массив и какие элементы содержатся по этим ключам? Такое ощущение что передают значение элементов, вместо ключей.
# ValekS (16.12.2015 / 18:39)
Не пойму только что вот это ещё за параметры подключения такие:
Где этот массив и какие элементы содержатся по этим ключам? Такое ощущение что передают значение элементов, вместо ключей.
Гг, это он уже ошибочно сам написал, вот
оригинал