Page 1 of 1

Need to define global variable for function db_connect

Posted: Mon Dec 15, 2008 2:19 am
by Jingo
~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.


I have a website that works perfect in localmode, im not a developer, but when i uploaded to the remote server doesn´t connect to the db. I have been told that the global variable has to be define wiht the correct data (dbhost, dbuserid, dbpasswd) of the remote server.

This is the code that works with local server:

Code: Select all

function db_connect() 
{
    global $host,$user,$pwd,$errstr,$sys_dbname,$port,$bSubqueriesSupported;
    $strhost=$host;
    if($port && $port!=3306)
        $strhost=$strhost.":".$port;
    $conn = mysql_connect($strhost,$user,$pwd);
    if (!$conn || !mysql_select_db($sys_dbname,$conn)) 
    {
      trigger_error(mysql_error(), E_USER_ERROR);
    }
    $mysqlversion = "4";
    $res = @mysql_query("SHOW VARIABLES LIKE 'version'",$conn);
    if($row=@mysql_fetch_array($res,MYSQL_ASSOC))
        $mysqlversion = $row["Value"];
    if(substr($mysqlversion,0,1)<="4")
        $bSubqueriesSupported=false;
    return $conn;
 
This is what i did affterwards,

Code: Select all

<?php
 
function db_connect() 
{
global $host,$user,$pwd,$errstr,$sys_dbname,$port,$bSubqu eriesSupported;
$strhost=$host,$user="userid",$pwd="contraseña";
if($port && $port!=3306)
$strhost=$strhost.":".$port;
$conn = mysql_connect($strhost,$user,$pwd);
if (!$conn || !mysql_select_db($sys_dbname,$conn)) 
{
trigger_error(mysql_error(), E_USER_ERROR);
}
$mysqlversion = "4";
$res = @mysql_query("SHOW VARIABLES LIKE 'version'",$conn);
if($row=@mysql_fetch_array($res,MYSQL_ASSOC))
$mysqlversion = $row["Value"];
if(substr($mysqlversion,0,1)<="4")
$bSubqueriesSupported=false;
return $conn;
}
 
I only added this line: $user="userid",$pwd="password";

but im not sure i did correctly.
userid and password, will be replaced by the proper values at the time of uploading.

Thanks


~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.

Re: Need to define global variable for function db_connect

Posted: Mon Dec 15, 2008 2:33 am
by jaoudestudios
No thats incorrect.

Global variables are BAD.
$strhost=$host,$user="userid",$pwd="contraseña";
Should be...(with semi-colon not comma)

Code: Select all

$strhost=$host; $user="userid"; $pwd="contraseña";
and if you declare those variables inside the function then you can ditch this line
global $host,$user,$pwd,$errstr,$sys_dbname,$port,$bSubqu eriesSupported;

Re: Need to define global variable for function db_connect

Posted: Mon Dec 15, 2008 1:35 pm
by Jingo
I did what is suggested but did not work remote server outputs "variable error", i enclose here the code of the connections page:

Code: Select all

<?php
 
function db_connect() 
{
    global $host,$user,$pwd,$errstr,$sys_dbname,$port,$bSubqueriesSupported;
    $strhost=$host;
    if($port && $port!=3306)
        $strhost=$strhost.":".$port;
    $conn = mysql_connect($strhost,$user,$pwd);
    if (!$conn || !mysql_select_db($sys_dbname,$conn)) 
    {
      trigger_error(mysql_error(), E_USER_ERROR);
    }
    $mysqlversion = "4";
    $res = @mysql_query("SHOW VARIABLES LIKE 'version'",$conn);
    if($row=@mysql_fetch_array($res,MYSQL_ASSOC))
        $mysqlversion = $row["Value"];
    if(substr($mysqlversion,0,1)<="4")
        $bSubqueriesSupported=false;
    return $conn;
}
 
function db_close($conn)
{
  return mysql_close($conn);
}
 
function db_query($qstring,$conn) 
{
    global $strLastSQL;
    $strLastSQL=$qstring;
    if(!($ret=mysql_query($qstring,$conn)))
    {
      trigger_error(mysql_error(), E_USER_ERROR);
    }
    return $ret;
    
}
 
function db_exec($qstring,$conn)
{
    return db_query($qstring,$conn);
}
 
function db_pageseek($qhandle,$pagesize,$page)
{
    db_dataseek($qhandle,($page-1)*$pagesize);
}
 
function db_dataseek($qhandle,$row)
{
   mysql_data_seek($qhandle,$row);
}
 
function db_numrows($qhandle) {
    // return only if qhandle exists, otherwise 0
    if ($qhandle) {
        return @mysql_numrows($qhandle);
    } else {
        return 0;
    }
}
 
function db_result($qhandle,$row,$field) {
    return @mysql_result($qhandle,$row,$field);
}
 
 
function db_affected_rows($qhandle) {
    return @mysql_affected_rows();
}
    
function db_fetch_array($qhandle) {
    return @mysql_fetch_array($qhandle,MYSQL_ASSOC);
}
 
function db_fetch_numarray($qhandle) {
    return @mysql_fetch_array($qhandle,MYSQL_NUM);
}
    
function db_insertid($qhandle) {
    return @mysql_insert_id($qhandle);
}
 
function db_error() {
    return @mysql_error();
}
 
 
 
 
 
function parsevalues($enum)
{
    $values=array();
    $i=0; $j=0;
    $inquot=false;
    while($i<strlen($enum))
    {
        if($enum[$i]=="'")
            $nquot=!$inquot;
        else if(!$inquot && $enum[$i]==',')
        {
            $val=substr($enum,$j+1,$i-$j-2);
            $values[]=str_replace("''","'",$val);
            $j=$i+1;
        }
        $i++;
    }
    if($i-$j-2>0)
    {
        $val=substr($enum,$j+1,$i-$j-2);
        $values[]=str_replace("''","'",$val);
    }
    return $values;
}
 
 
 
function db_addslashes($str)
{
    return mysql_escape_string($str);
}
 
function db_stripslashes($str)
{
    return stripslashes($str);
}
 
function db_addslashesbinary($str)
{
    return "'".mysql_escape_string($str)."'";
}
 
function db_stripslashesbinary($str)
{
    return $str;
}
 
/*
function IsAutoIncrementField($field)
{
    global $strTableName;
    if(strpos($_SESSION[$strTableName."_fieldinfo"][$field]["extra"],"auto_increment")===FALSE)
        return false;
    return true;
}
*/
 
 
 
// adds wrappers to field name if required
function AddFieldWrappers($strName)
{
    global $strLeftWrapper,$strRightWrapper;
    if(substr($strName,0,1)==$strLeftWrapper)
        return $strName;
    return $strLeftWrapper.$strName.$strRightWrapper;
}
 
function AddTableWrappers($strName)
{
    return AddFieldWrappers($strName);
}
 
// removes wrappers from field name if required
function RemoveFieldWrappers($strName)
{
    global $strLeftWrapper,$strRightWrapper;
    if(substr($strName,0,1)==$strLeftWrapper)
        return substr($strName,1,strlen($strName)-2);
    return $strName;
}
 
function RemoveTableWrappers($strName)
{
    return RemoveFieldWrappers($strName);
}
 
function db_upper($dbval)
{
    return "upper(".$dbval.")";
}
 
function db_datequotes($val)
{
    return "'".$val."'";
}
 
 
function db_numfields($lhandle) {
    return @mysql_numfields($lhandle);
}
 
function db_fieldname($lhandle,$fnumber) {
           return @mysql_fieldname($lhandle,$fnumber);
}
 
function db_fieldtype($lhandle,$fname) {
    for($i=0;$i<db_numfields($lhandle);$i++)
        if(db_fieldname($lhandle,$i)==$fname)
            return db_fieldtypen($lhandle,$i);
    return "";
}
 
 
 
function db_fieldtypen($lhandle,$fnumber) {
    $type=mysql_fieldtype($lhandle,$fnumber);
    if($type=="blob")
    {
        $flags=mysql_fieldflags($lhandle,$fnumber);
        if(strpos($flags,"binary")===false)
            $type="text";
    }
    return $type;
}
 
 
function FieldNeedQuotes($rs,$field)
{
    $type=db_fieldtype($rs,$field);
    $t=strtoupper($type);
    if($t=="TINYINT" || $t=="SMALLINT" || $t=="MEDIUMINT" || $t=="INT" || $t=="BIGINT"
     || $t=="YEAR" || $t=="FLOAT" || $t=="DOUBLE" || $t=="DECIMAL" || $t=="NUMERIC"
     || $t=="REAL" )
        return false;
    return true;
}
 
 
/*
 
 
 
function db_fieldnull($rs,$i)
{
    $flags=mysql_field_flags($rs,$i);
    if(strpos($flags,"not_null")===false)
        return true;
    return false;
}
 
function db_fieldlen($rs,$i)
{
    return mysql_field_len($rs,$i);
}
*/
 
/*
 
 
 
function IsBinaryType($t)
{
    $type=strtoupper($t);
    if($type=="TINYBLOB" || $type=="BLOB" || $type=="MEDIUMBLOB" || $type=="LONGBLOB")
        return true;
    return false;
}
 
function IsDateFieldType($stype)
{
    $type=strtoupper($stype);
    if($type=="DATE" || $type=="DATETIME" || $type=="TIME" || $type=="TIMESTAMP")
        return true;
    return false;
}
 
 
function IsCharType($stype)
{
    $type=strtoupper($stype);
    if($type=="STRING" || $type=="CHAR" || $type=="VARCHAR" || $type=="TEXT" || $type=="ENUM" || $type=="SET")
        return true;
    return false;
}
 
function IsTextType($type)
{
    if(strtoupper($type)=="TEXT")
        return true;
    return false;
}
 
function GetTableInfo()
{
    global $strTableName,$conn;
    $strSQL = "SHOW Columns from ".AddTableWrappers($strTableName);
    $rs = db_query($strSQL,$conn);
    $_SESSION[$strTableName."_fieldinfo"]=array();
    while($data=db_fetch_array($rs))
    {
        $_SESSION[$strTableName."_fieldinfo"][$data["Field"]] = array();
        $f = & $_SESSION[$strTableName."_fieldinfo"][$data["Field"]];
        $type=$data["Type"];
//  remove type modifiers
        if(substr($type,0,4)=="tiny")   $type=substr($type,4);
        else if(substr($type,0,5)=="small") $type=substr($type,5);
        else if(substr($type,0,6)=="medium")    $type=substr($type,6);
        else if(substr($type,0,3)=="big")   $type=substr($type,3);
        else if(substr($type,0,4)=="long")  $type=substr($type,4);
        if(substr($type,0,4)=="enum")
        {
            $f["values"]=parsevalues(substr($type,5,strlen($type)-6));
            $f["type"]="enum";
        }
        else if(substr($type,0,3)=="set")
        {
            $f["values"]=parsevalues(substr($type,4,strlen($type)-5));
            $f["type"]="set";
        }
        else
        {
            if($pos=strpos($type," "))
                $type=substr($type,0,$pos);
//  parse field sizes
            if($pos=strpos($type,"("))
            {
                if($pos1=strpos($type,",",$pos))
                {
                    $f["size"]=(integer)substr($type,$pos+1,$pos1-$pos-1);
                    $f["scale"]=(integer)substr($type,$pos1+1,strlen($type)-$pos1-2);
                }
                else
                {
                    $f["size"]=(integer)substr($type,$pos+1,strlen($type)-$pos-2);
                    $f["scale"]=0;
                }
                $type=substr($type,0,$pos);
            }
            $f["type"]=$type;
        }
        $f["extra"]=@$data["Extra"];
        $f["key"]=@$data["Key"];
        $f["default"]=@$data["Default"];
        $f["null"]=@$data["Null"];
    }
}
 
*/
?>
¿any help?

Re: Need to define global variable for function db_connect

Posted: Mon Dec 15, 2008 1:56 pm
by jaoudestudios
You need to give us more info. What line was the error?

Re: Need to define global variable for function db_connect

Posted: Mon Dec 15, 2008 4:46 pm
by Jingo
This is the page code after i tried to alter the global variable:

Code: Select all

<?php
 
function db_connect() 
{
    $host="******bhost"; $user="a98****_r****"; $pwd="*******";
    $strhost=$host;
    if($port && $port!=3306)
        $strhost=$strhost.":".$port;
    $conn = mysql_connect($strhost,$user,$pwd);
    if (!$conn || !mysql_select_db($sys_dbname,$conn)) 
    {
      trigger_error(mysql_error(), E_USER_ERROR);
    }
    $mysqlversion = "4";
    $res = @mysql_query("SHOW VARIABLES LIKE 'version'",$conn);
    if($row=@mysql_fetch_array($res,MYSQL_ASSOC))
        $mysqlversion = $row["Value"];
    if(substr($mysqlversion,0,1)<="4")
        $bSubqueriesSupported=false;
    return $conn;
}
 
function db_close($conn)
{
  return mysql_close($conn);
}
 
function db_query($qstring,$conn) 
{
    global $strLastSQL;
    $strLastSQL=$qstring;
    if(!($ret=mysql_query($qstring,$conn)))
    {
      trigger_error(mysql_error(), E_USER_ERROR);
    }
    return $ret;
    
}
 
function db_exec($qstring,$conn)
{
    return db_query($qstring,$conn);
}
 
function db_pageseek($qhandle,$pagesize,$page)
{
    db_dataseek($qhandle,($page-1)*$pagesize);
}
 
function db_dataseek($qhandle,$row)
{
   mysql_data_seek($qhandle,$row);
}
 
function db_numrows($qhandle) {
    // return only if qhandle exists, otherwise 0
    if ($qhandle) {
        return @mysql_numrows($qhandle);
    } else {
        return 0;
    }
}
 
function db_result($qhandle,$row,$field) {
    return @mysql_result($qhandle,$row,$field);
}
 
 
function db_affected_rows($qhandle) {
    return @mysql_affected_rows();
}
    
function db_fetch_array($qhandle) {
    return @mysql_fetch_array($qhandle,MYSQL_ASSOC);
}
 
function db_fetch_numarray($qhandle) {
    return @mysql_fetch_array($qhandle,MYSQL_NUM);
}
    
function db_insertid($qhandle) {
    return @mysql_insert_id($qhandle);
}
 
function db_error() {
    return @mysql_error();
}
 
 
 
 
 
function parsevalues($enum)
{
    $values=array();
    $i=0; $j=0;
    $inquot=false;
    while($i<strlen($enum))
    {
        if($enum[$i]=="'")
            $nquot=!$inquot;
        else if(!$inquot && $enum[$i]==',')
        {
            $val=substr($enum,$j+1,$i-$j-2);
            $values[]=str_replace("''","'",$val);
            $j=$i+1;
        }
        $i++;
    }
    if($i-$j-2>0)
    {
        $val=substr($enum,$j+1,$i-$j-2);
        $values[]=str_replace("''","'",$val);
    }
    return $values;
}
 
 
 
function db_addslashes($str)
{
    return mysql_escape_string($str);
}
 
function db_stripslashes($str)
{
    return stripslashes($str);
}
 
function db_addslashesbinary($str)
{
    return "'".mysql_escape_string($str)."'";
}
 
function db_stripslashesbinary($str)
{
    return $str;
}
 
/*
function IsAutoIncrementField($field)
{
    global $strTableName;
    if(strpos($_SESSION[$strTableName."_fieldinfo"][$field]["extra"],"auto_increment")===FALSE)
        return false;
    return true;
}
*/
 
 
 
// adds wrappers to field name if required
function AddFieldWrappers($strName)
{
    global $strLeftWrapper,$strRightWrapper;
    if(substr($strName,0,1)==$strLeftWrapper)
        return $strName;
    return $strLeftWrapper.$strName.$strRightWrapper;
}
 
function AddTableWrappers($strName)
{
    return AddFieldWrappers($strName);
}
 
// removes wrappers from field name if required
function RemoveFieldWrappers($strName)
{
    global $strLeftWrapper,$strRightWrapper;
    if(substr($strName,0,1)==$strLeftWrapper)
        return substr($strName,1,strlen($strName)-2);
    return $strName;
}
 
function RemoveTableWrappers($strName)
{
    return RemoveFieldWrappers($strName);
}
 
function db_upper($dbval)
{
    return "upper(".$dbval.")";
}
 
function db_datequotes($val)
{
    return "'".$val."'";
}
 
 
function db_numfields($lhandle) {
    return @mysql_numfields($lhandle);
}
 
function db_fieldname($lhandle,$fnumber) {
           return @mysql_fieldname($lhandle,$fnumber);
}
 
function db_fieldtype($lhandle,$fname) {
    for($i=0;$i<db_numfields($lhandle);$i++)
        if(db_fieldname($lhandle,$i)==$fname)
            return db_fieldtypen($lhandle,$i);
    return "";
}
 
 
 
function db_fieldtypen($lhandle,$fnumber) {
    $type=mysql_fieldtype($lhandle,$fnumber);
    if($type=="blob")
    {
        $flags=mysql_fieldflags($lhandle,$fnumber);
        if(strpos($flags,"binary")===false)
            $type="text";
    }
    return $type;
}
 
 
function FieldNeedQuotes($rs,$field)
{
    $type=db_fieldtype($rs,$field);
    $t=strtoupper($type);
    if($t=="TINYINT" || $t=="SMALLINT" || $t=="MEDIUMINT" || $t=="INT" || $t=="BIGINT"
     || $t=="YEAR" || $t=="FLOAT" || $t=="DOUBLE" || $t=="DECIMAL" || $t=="NUMERIC"
     || $t=="REAL" )
        return false;
    return true;
}
 
 
/*
 
 
 
function db_fieldnull($rs,$i)
{
    $flags=mysql_field_flags($rs,$i);
    if(strpos($flags,"not_null")===false)
        return true;
    return false;
}
 
function db_fieldlen($rs,$i)
{
    return mysql_field_len($rs,$i);
}
*/
 
/*
 
 
 
function IsBinaryType($t)
{
    $type=strtoupper($t);
    if($type=="TINYBLOB" || $type=="BLOB" || $type=="MEDIUMBLOB" || $type=="LONGBLOB")
        return true;
    return false;
}
 
function IsDateFieldType($stype)
{
    $type=strtoupper($stype);
    if($type=="DATE" || $type=="DATETIME" || $type=="TIME" || $type=="TIMESTAMP")
        return true;
    return false;
}
 
 
function IsCharType($stype)
{
    $type=strtoupper($stype);
    if($type=="STRING" || $type=="CHAR" || $type=="VARCHAR" || $type=="TEXT" || $type=="ENUM" || $type=="SET")
        return true;
    return false;
}
 
function IsTextType($type)
{
    if(strtoupper($type)=="TEXT")
        return true;
    return false;
}
 
function GetTableInfo()
{
    global $strTableName,$conn;
    $strSQL = "SHOW Columns from ".AddTableWrappers($strTableName);
    $rs = db_query($strSQL,$conn);
    $_SESSION[$strTableName."_fieldinfo"]=array();
    while($data=db_fetch_array($rs))
    {
        $_SESSION[$strTableName."_fieldinfo"][$data["Field"]] = array();
        $f = & $_SESSION[$strTableName."_fieldinfo"][$data["Field"]];
        $type=$data["Type"];
//  remove type modifiers
        if(substr($type,0,4)=="tiny")   $type=substr($type,4);
        else if(substr($type,0,5)=="small") $type=substr($type,5);
        else if(substr($type,0,6)=="medium")    $type=substr($type,6);
        else if(substr($type,0,3)=="big")   $type=substr($type,3);
        else if(substr($type,0,4)=="long")  $type=substr($type,4);
        if(substr($type,0,4)=="enum")
        {
            $f["values"]=parsevalues(substr($type,5,strlen($type)-6));
            $f["type"]="enum";
        }
        else if(substr($type,0,3)=="set")
        {
            $f["values"]=parsevalues(substr($type,4,strlen($type)-5));
            $f["type"]="set";
        }
        else
        {
            if($pos=strpos($type," "))
                $type=substr($type,0,$pos);
//  parse field sizes
            if($pos=strpos($type,"("))
            {
                if($pos1=strpos($type,",",$pos))
                {
                    $f["size"]=(integer)substr($type,$pos+1,$pos1-$pos-1);
                    $f["scale"]=(integer)substr($type,$pos1+1,strlen($type)-$pos1-2);
                }
                else
                {
                    $f["size"]=(integer)substr($type,$pos+1,strlen($type)-$pos-2);
                    $f["scale"]=0;
                }
                $type=substr($type,0,$pos);
            }
            $f["type"]=$type;
        }
        $f["extra"]=@$data["Extra"];
        $f["key"]=@$data["Key"];
        $f["default"]=@$data["Default"];
        $f["null"]=@$data["Null"];
    }
}
 
*/
?>
This is the output of the remote server:

Type of error: 8
Description of error: Undefined variable: port
Error file: dbconnection.php
Error margin: 7

Does not say anythig about line where lies error.

Thanks for your help.

Re: Need to define global variable for function db_connect

Posted: Mon Dec 15, 2008 4:57 pm
by pickle
This is more of a E_NOTICE than an E_WARNING, or E_FATAL type error. You're referencing $port without first declaring it.

3306 is the default port - you don't need to specify it unless you're using an alternative port.

Also, please wrap your PHP code in [ code=php ][ /code ] tags so we can see syntax highlighting.

Re: Need to define global variable for function db_connect

Posted: Mon Dec 15, 2008 11:10 pm
by Jingo
I have removed the code line referring to port:

Code: Select all

<?php
 
function db_connect() 
{
    $host="**********webhost"; $user="a9******"; $pwd="******";
    $strhost=$host;
    $conn = mysql_connect($strhost,$user,$pwd);
    if (!$conn || !mysql_select_db($sys_dbname,$conn)) 
    {
      trigger_error(mysql_error(), E_USER_ERROR);
    }
    $mysqlversion = "4";
    $res = @mysql_query("SHOW VARIABLES LIKE 'version'",$conn);
    if($row=@mysql_fetch_array($res,MYSQL_ASSOC))
        $mysqlversion = $row["Value"];
    if(substr($mysqlversion,0,1)<="4")
        $bSubqueriesSupported=false;
    return $conn;
}
 
function db_close($conn)
{
  return mysql_close($conn);
}
 
function db_query($qstring,$conn) 
{
    global $strLastSQL;
    $strLastSQL=$qstring;
    if(!($ret=mysql_query($qstring,$conn)))
    {
      trigger_error(mysql_error(), E_USER_ERROR);
    }
    return $ret;
    
}
 
function db_exec($qstring,$conn)
{
    return db_query($qstring,$conn);
}
 
function db_pageseek($qhandle,$pagesize,$page)
{
    db_dataseek($qhandle,($page-1)*$pagesize);
}
 
function db_dataseek($qhandle,$row)
{
   mysql_data_seek($qhandle,$row);
}
 
function db_numrows($qhandle) {
    // return only if qhandle exists, otherwise 0
    if ($qhandle) {
        return @mysql_numrows($qhandle);
    } else {
        return 0;
    }
}
 
function db_result($qhandle,$row,$field) {
    return @mysql_result($qhandle,$row,$field);
}
 
 
function db_affected_rows($qhandle) {
    return @mysql_affected_rows();
}
    
function db_fetch_array($qhandle) {
    return @mysql_fetch_array($qhandle,MYSQL_ASSOC);
}
 
function db_fetch_numarray($qhandle) {
    return @mysql_fetch_array($qhandle,MYSQL_NUM);
}
    
function db_insertid($qhandle) {
    return @mysql_insert_id($qhandle);
}
 
function db_error() {
    return @mysql_error();
}
 
 
 
 
 
function parsevalues($enum)
{
    $values=array();
    $i=0; $j=0;
    $inquot=false;
    while($i<strlen($enum))
    {
        if($enum[$i]=="'")
            $nquot=!$inquot;
        else if(!$inquot && $enum[$i]==',')
        {
            $val=substr($enum,$j+1,$i-$j-2);
            $values[]=str_replace("''","'",$val);
            $j=$i+1;
        }
        $i++;
    }
    if($i-$j-2>0)
    {
        $val=substr($enum,$j+1,$i-$j-2);
        $values[]=str_replace("''","'",$val);
    }
    return $values;
}
 
 
 
function db_addslashes($str)
{
    return mysql_escape_string($str);
}
 
function db_stripslashes($str)
{
    return stripslashes($str);
}
 
function db_addslashesbinary($str)
{
    return "'".mysql_escape_string($str)."'";
}
 
function db_stripslashesbinary($str)
{
    return $str;
}
 
/*
function IsAutoIncrementField($field)
{
    global $strTableName;
    if(strpos($_SESSION[$strTableName."_fieldinfo"][$field]["extra"],"auto_increment")===FALSE)
        return false;
    return true;
}
*/
 
 
 
// adds wrappers to field name if required
function AddFieldWrappers($strName)
{
    global $strLeftWrapper,$strRightWrapper;
    if(substr($strName,0,1)==$strLeftWrapper)
        return $strName;
    return $strLeftWrapper.$strName.$strRightWrapper;
}
 
function AddTableWrappers($strName)
{
    return AddFieldWrappers($strName);
}
 
// removes wrappers from field name if required
function RemoveFieldWrappers($strName)
{
    global $strLeftWrapper,$strRightWrapper;
    if(substr($strName,0,1)==$strLeftWrapper)
        return substr($strName,1,strlen($strName)-2);
    return $strName;
}
 
function RemoveTableWrappers($strName)
{
    return RemoveFieldWrappers($strName);
}
 
function db_upper($dbval)
{
    return "upper(".$dbval.")";
}
 
function db_datequotes($val)
{
    return "'".$val."'";
}
 
 
function db_numfields($lhandle) {
    return @mysql_numfields($lhandle);
}
 
function db_fieldname($lhandle,$fnumber) {
           return @mysql_fieldname($lhandle,$fnumber);
}
 
function db_fieldtype($lhandle,$fname) {
    for($i=0;$i<db_numfields($lhandle);$i++)
        if(db_fieldname($lhandle,$i)==$fname)
            return db_fieldtypen($lhandle,$i);
    return "";
}
 
 
 
function db_fieldtypen($lhandle,$fnumber) {
    $type=mysql_fieldtype($lhandle,$fnumber);
    if($type=="blob")
    {
        $flags=mysql_fieldflags($lhandle,$fnumber);
        if(strpos($flags,"binary")===false)
            $type="text";
    }
    return $type;
}
 
 
function FieldNeedQuotes($rs,$field)
{
    $type=db_fieldtype($rs,$field);
    $t=strtoupper($type);
    if($t=="TINYINT" || $t=="SMALLINT" || $t=="MEDIUMINT" || $t=="INT" || $t=="BIGINT"
     || $t=="YEAR" || $t=="FLOAT" || $t=="DOUBLE" || $t=="DECIMAL" || $t=="NUMERIC"
     || $t=="REAL" )
        return false;
    return true;
}
 
 
/*
 
 
 
function db_fieldnull($rs,$i)
{
    $flags=mysql_field_flags($rs,$i);
    if(strpos($flags,"not_null")===false)
        return true;
    return false;
}
 
function db_fieldlen($rs,$i)
{
    return mysql_field_len($rs,$i);
}
*/
 
/*
 
 
 
function IsBinaryType($t)
{
    $type=strtoupper($t);
    if($type=="TINYBLOB" || $type=="BLOB" || $type=="MEDIUMBLOB" || $type=="LONGBLOB")
        return true;
    return false;
}
 
function IsDateFieldType($stype)
{
    $type=strtoupper($stype);
    if($type=="DATE" || $type=="DATETIME" || $type=="TIME" || $type=="TIMESTAMP")
        return true;
    return false;
}
 
 
function IsCharType($stype)
{
    $type=strtoupper($stype);
    if($type=="STRING" || $type=="CHAR" || $type=="VARCHAR" || $type=="TEXT" || $type=="ENUM" || $type=="SET")
        return true;
    return false;
}
 
function IsTextType($type)
{
    if(strtoupper($type)=="TEXT")
        return true;
    return false;
}
 
function GetTableInfo()
{
    global $strTableName,$conn;
    $strSQL = "SHOW Columns from ".AddTableWrappers($strTableName);
    $rs = db_query($strSQL,$conn);
    $_SESSION[$strTableName."_fieldinfo"]=array();
    while($data=db_fetch_array($rs))
    {
        $_SESSION[$strTableName."_fieldinfo"][$data["Field"]] = array();
        $f = & $_SESSION[$strTableName."_fieldinfo"][$data["Field"]];
        $type=$data["Type"];
//  remove type modifiers
        if(substr($type,0,4)=="tiny")   $type=substr($type,4);
        else if(substr($type,0,5)=="small") $type=substr($type,5);
        else if(substr($type,0,6)=="medium")    $type=substr($type,6);
        else if(substr($type,0,3)=="big")   $type=substr($type,3);
        else if(substr($type,0,4)=="long")  $type=substr($type,4);
        if(substr($type,0,4)=="enum")
        {
            $f["values"]=parsevalues(substr($type,5,strlen($type)-6));
            $f["type"]="enum";
        }
        else if(substr($type,0,3)=="set")
        {
            $f["values"]=parsevalues(substr($type,4,strlen($type)-5));
            $f["type"]="set";
        }
        else
        {
            if($pos=strpos($type," "))
                $type=substr($type,0,$pos);
//  parse field sizes
            if($pos=strpos($type,"("))
            {
                if($pos1=strpos($type,",",$pos))
                {
                    $f["size"]=(integer)substr($type,$pos+1,$pos1-$pos-1);
                    $f["scale"]=(integer)substr($type,$pos1+1,strlen($type)-$pos1-2);
                }
                else
                {
                    $f["size"]=(integer)substr($type,$pos+1,strlen($type)-$pos-2);
                    $f["scale"]=0;
                }
                $type=substr($type,0,$pos);
            }
            $f["type"]=$type;
        }
        $f["extra"]=@$data["Extra"];
        $f["key"]=@$data["Key"];
        $f["default"]=@$data["Default"];
        $f["null"]=@$data["Null"];
    }
}
 
*/
?>
and this is the error message that appears:

Type of error: 2
mysql_connect() [function.mysql-connect]: Can´t connect to MySQL server host '*******bhost'


Does not say anything about error at any line.

Re: Need to define global variable for function db_connect

Posted: Tue Dec 16, 2008 2:00 am
by jaoudestudios
There is nothing wrong with your code the, your error states it can not connect to the remote mysql server. Do you have the right permissions to have a remote connection to that mysql server?

Re: Need to define global variable for function db_connect

Posted: Tue Dec 16, 2008 2:11 pm
by Jingo
Well you were right was a problem of user permissions to the db.
Thank you very much for you lovely help. This PHPforum is the best i have experienced so far.

Take care out there!