PDA

Просмотр полной версии : Global переменная!ошибка регистрации!


ZnikiR
19.04.2009, 18:23
Привет!Извените что пришлось создать новую тему так как в темы для новичков ответа нет!



<?

function db_connect()
{
global $db;<!------22 ТРОКА

if ($db)
return;

$db = mysql_connect("localhost", MYSQLUSER, MYSQLPASS);

mysql_select_db(MYSQLDB, $db);

if (!$db)
{
echo "Couldn't open database!\n";
exit;
}
}

function db_disconnect()
{
global $db;

if ($db)
{
mysql_close($db);
$db = NULL;
}
}

function db_query($q)
{
global $db;

$result = mysql_query($q, $db);
return $result;
}

function db_fetch_array($result)
{
global $db;

$r = mysql_fetch_array($result);
return $r;
}

function db_query_row($q)
{
$result = db_query($q);

if (!$result)
return NULL;

$row = mysql_fetch_array($result);
return $row;
}

function db_query_value($q)
{
$row = db_query_row($q);
return $row[0];
}

function db_array_update($table, $a, $where)
{
$q = "update $table set ";
$b = NULL;

foreach($a as $key => $value)
{
if (is_int($key))
continue;

// if (isset($value) && $value != "")
$b[] = "$key='$value'";
}

$q .= implode(",", $b);
$q .= " where ".$where;

db_query($q);
}

function db_array_insert($table, $a)
{
$q = "insert into $table set ";
$b = NULL;

foreach($a as $key => $value)
{
if (is_int($key))
continue;
if ($value && $value != "")
$b[] = "$key='$value'";
}

$q .= implode(",", $b);

db_query($q);

}

function db_insert_id()
{
return mysql_insert_id();
}

function gen_id($table, $column, $size, $characters_allow)
{
for(;;)
{
$id = random_string($size, TRUE, $characters_allow);
$q = "select count(*) from $table where $column='$id'";
$count = db_query_value($q);
if ($count == 0)
break;
}
return $id;
}

function db_num_rows($result)
{
return mysql_num_rows($result);
}
?>

GreenBear
19.04.2009, 18:24
http://ru2.php.net/oop

ZnikiR
19.04.2009, 18:38
Почитал!
Но так и не понял в чем проблема!
Так в чем проблема???
Вот что севак пишет Fatal error: Cannot redeclare db_connect() (previously declared in /home/www/***/inc/db.php:5) in /home/www/***/inc/db.php on line 3

GreenBear
19.04.2009, 18:42
в подходе

L I G A
19.04.2009, 18:46
попробуй так :

<?

function db_connect()
{
global $db;
if ($db)
return;

$db = mysql_connect("localhost", MYSQLUSER, MYSQLPASS);

mysql_select_db(MYSQLDB, $db);

if (!$db)
{
echo "Couldn't open database!\n";
exit;
}
}

function db_disconnect()
{
global $db;

if ($db)
{
mysql_close($db);
$db = NULL;
}
}

function db_query($q)
{
global $db;

$result = mysql_query($q, $db);
return $result;
}

function db_fetch_array($result)
{
global $db;

$r = mysql_fetch_array($result);
return $r;
}

function db_query_row($q)
{
$result = db_query($q);

if (!$result)
return NULL;

$row = mysql_fetch_array($result);
return $row;
}

function db_query_value($q)
{
$row = db_query_row($q);
return $row[0];
}

function db_array_update($table, $a, $where)
{
$q = "update $table set ";
$b = NULL;

foreach($a as $key => $value)
{
if (is_int($key))
continue;

// if (isset($value) && $value != "")
$b[] = "$key='$value'";
}

$q .= implode(",", $b);
$q .= " where ".$where;

db_query($q);
}

function db_array_insert($table, $a)
{
$q = "insert into $table set ";
$b = NULL;

foreach($a as $key => $value)
{
if (is_int($key))
continue;
if ($value && $value != "")
$b[] = "$key='$value'";
}

$q .= implode(",", $b);

db_query($q);

}

function db_insert_id()
{
return mysql_insert_id();
}

function gen_id($table, $column, $size, $characters_allow)
{
for(;;)
{
$id = random_string($size, TRUE, $characters_allow);
$q = "select count(*) from $table where $column='$id'";
$count = db_query_value($q);
if ($count == 0)
break;
}
return $id;
}

function db_num_rows($result)
{
return mysql_num_rows($result);
}
?>

ZnikiR
19.04.2009, 18:55
спасибо огромное всё заработоло!
тему можно закрывать!
P.S.скоро представлю своё "творения" :p в паблик!)))

Deathdreams
20.04.2009, 23:06
ппц вот смотри например.
зачем делать такие глупые функции?
вот например.
function db_query_row($q)
$result = db_query($q);

во всяком db_query будет юзатся быстрее, чем через функцию db_query_row($q);

ZnikiR
21.04.2009, 18:02
да я понял что здесь очень тупой код!
я просто взял уже готовой и пожалел!
сейчас свой пишу!