close(); } return $cell; } function mysql_getrow($sql, $substitutions = array()) { $row = array(); if ($result = mysql_q($sql, $substitutions)) { $fn = is_resource($result) ? 'mysql_fetch_assoc' : 'mysqli_fetch_assoc' ; $row = $fn($result); if (!is_resource($result)) $result->close(); } return $row; } function mysql_getcolumn($sql, $makehash = FALSE, $substitutions = array()) { $data = array(); $result = mysql_q($sql, $substitutions); $fn = is_resource($result) ? 'mysql_fetch_row' : 'mysqli_fetch_row' ; if (!$makehash) while ($row = $fn($result)) $data[] = $row[0]; else while ($row = $fn($result)) $data[$row{0}] = $row[1]; if (!is_resource($result)) $result->close(); return $data; } function mysql_gettable($sql, $keycol = FALSE, $substitutions = array()) { $data = array(); $result = mysql_q($sql, $substitutions); $fn = is_resource($result) ? 'mysql_fetch_assoc' : 'mysqli_fetch_assoc' ; if (!$keycol) while ($row = $fn($result)) $data[] = $row; else while ($row = $fn($result)) $data[$row{$keycol}] = $row; if (!is_resource($result)) $result->close(); return $data; } function mysql_q($sql, $substitutions = array()) { global $mysqli; if ($substitutions) foreach ($substitutions as $key => $value) { if (is_string($value)) $s = "'" . mysql_real_escape_string($value) . "'"; elseif (is_numeric($value)) $s = $value; elseif (is_null($value)) $s = 'NULL'; else $s = intval($value); $sql = (is_int($key)) ? preg_replace('/(?<=\s)\?(?=\s|\z)/', $s, $sql, 1) : str_replace(":$key", $s, $sql); } $result = ($mysqli) ? $mysqli->query($sql) : mysql_query($sql); if ($result) return $result; else { $trace = debug_backtrace(); $mysql_functions = array( 'mysql_getcell', 'mysql_getrow', 'mysql_getcolumn', 'mysql_gettable' ); if (isset($trace[1]) AND in_array($trace[1]['function'], $mysql_functions)) $level = 1; else $level = 0; $db_error = ($mysqli) ? mysqli_error($mysqli) : mysql_error(); $message = '

MySQL error in file '.$trace[$level]['file'].''. " at line " .$trace[$level]['line']." (function " . $trace[$level]['function'] ."):
" ."\n$db_error\n\n

$sql

"; die($message); } } ?>