11closed 0 Denunciar post Postado Junho 17, 2011 olá está dando esse erro !!! Fatal error: Call to a member function FetchNextObject() on a non-object in C:\..............\SITES\posregesdracena\centro.php on line 16 <?php include("conexao.php"); include("funcoes.php"); $con = new conexao(); $status = "A"; $sql = "select * from CURSOS WHERE CURSOS_STATUS = ".$status.""; mysql_query("SET NAMES 'utf8'"); $query = $con->banco->Execute($sql); while($array = $query->FetchNextObject()) { echo ' <div id="resultado"> <img src="imagem/'.$array->CURSOS_ID.'.jpg" alt="Imagem" /> <h2>'.$array->CURSOS_DESCRICAO.'</h2> <ul> '; $sql1 = "select * from ESPECIALIZACAO WHERE ESP_IDCURSO = '".$array->CURSOS_ID."' && ESP_STATUS = ".$status.""; mysql_query("SET NAMES 'utf8'"); $query1 = $con->banco->Execute($sql1); while($array1 = $query1->FetchNextObject()) { echo '<li><a href="cursos_completo.php?esp='.$array1->ESP_ID.'&cursos='.$array->CURSOS_ID.'" title="Vizualização completa">'.$array1->ESP_DESCRICAO.'</a></li>'; } echo' </ul></div>'; } ?> por que será, aonde estou errando ? aguem pode me ajudar ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 20, 2011 Estranho ainda ñ consegui resolver o problema, aguem porfavor me da uma luz quando eu retiro essa parte WHERE CURSOS_STATUS = ".$status." e essa && ESP_STATUS = ".$status." o erro sai, poren dessa forma não busca da maneira desejada. porque será ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 20, 2011 adicione um mysql_error() no método Execute, para descobrir o motivo da query não ter retornado um resource. Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 20, 2011 add o mysql_error(), e retorno o seguinte erro Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\...................\centro.php on line 15 Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 20, 2011 poste a implementação deste método, você fez de forma errada. além disso, se é string, deve estar entre aspas: $status = "A"; $sql = "SELECT * FROM CURSOS WHERE CURSOS_STATUS = '{$status}'"; Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 20, 2011 <?php include("conexao.php"); include("funcoes.php"); $con = new conexao(); $status = "A"; $sql = mysql_error("select * from CURSOS WHERE CURSOS_STATUS = ".$status.""); mysql_query("SET NAMES 'utf8'"); $query = $con->banco->Execute($sql); while($array = $query->FetchNextObject()) { echo ' <div id="resultado"> <img src="imagem/'.$array->CURSOS_ID.'.jpg" alt="Imagem" /> <h2>'.$array->CURSOS_DESCRICAO.'</h2> <ul> '; $sql1 = "select * from ESPECIALIZACAO WHERE ESP_IDCURSO = '".$array->CURSOS_ID."' && ESP_STATUS = ".$status.""; mysql_query("SET NAMES 'utf8'"); $query1 = $con->banco->Execute($sql1); while($array1 = $query1->FetchNextObject()) { echo '<li><a href="cursos_completo.php?esp='.$array1->ESP_ID.'&cursos='.$array->CURSOS_ID.'" title="Vizualização completa">'.$array1->ESP_DESCRICAO.'</a></li>'; } echo' </ul></div>'; } ?> a linha 15 é essa $sql = mysql_error("select * from CURSOS WHERE CURSOS_STATUS = ".$status.""); Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 20, 2011 não não amigo.. com calma, não era isso que você tinha que fazer.. deixe assim: $status = "A"; $sql = "SELECT * FROM CURSOS WHERE CURSOS_STATUS = '{$status}'"; oque eu queria ver, era a declaração do método Execute da tua class banco. Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 20, 2011 ata ok, me desculpe <?php require('adodb/adodb.inc.php'); class conexao{ var $tipo_banco = "mysql"; var $servidor = "sever"; var $usuario = "user"; var $senha = "senha"; var $banco = "nomebanco"; function conexao(){ $this->banco = NewADOConnection($this->tipo_banco); $this->banco->dialect = 3; $this->banco->debug = false; $this->banco->Connect($this->servidor,$this->usuario,$this->senha,"nomebanco"); } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 20, 2011 Poste apenas o método Execute() da class NewADOConnection Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 20, 2011 William, não sei exatamente o local então postararei o function NewADOConnection inteira por via das duvidas. function &ADONewConnection($db='') { GLOBAL $ADODB_NEWCONNECTION, $ADODB_LASTDB; if (!defined('ADODB_ASSOC_CASE')) define('ADODB_ASSOC_CASE',2); $errorfn = (defined('ADODB_ERROR_HANDLER')) ? ADODB_ERROR_HANDLER : false; $false = false; if ($at = strpos($db,'://')) { $origdsn = $db; if (PHP_VERSION < 5) $dsna = @parse_url($db); else { $fakedsn = 'fake'.substr($db,$at); $dsna = @parse_url($fakedsn); $dsna['scheme'] = substr($db,0,$at); if (strncmp($db,'pdo',3) == 0) { $sch = explode('_',$dsna['scheme']); if (sizeof($sch)>1) { $dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : ''; $dsna['host'] = rawurlencode($sch[1].':host='.rawurldecode($dsna['host'])); $dsna['scheme'] = 'pdo'; } } } if (!$dsna) { // special handling of oracle, which might not have host $db = str_replace([url=""]'@/','@adodb-fakehost/',$db[/url]); $dsna = parse_url($db); if (!$dsna) return $false; $dsna['host'] = ''; } $db = @$dsna['scheme']; if (!$db) return $false; $dsna['host'] = isset($dsna['host']) ? rawurldecode($dsna['host']) : ''; $dsna['user'] = isset($dsna['user']) ? rawurldecode($dsna['user']) : ''; $dsna['pass'] = isset($dsna['pass']) ? rawurldecode($dsna['pass']) : ''; $dsna['path'] = isset($dsna['path']) ? rawurldecode(substr($dsna['path'],1)) : ''; # strip off initial / if (isset($dsna['query'])) { $opt1 = explode('&',$dsna['query']); foreach($opt1 as $k => $v) { $arr = explode('=',$v); $opt[$arr[0]] = isset($arr[1]) ? rawurldecode($arr[1]) : 1; } } else $opt = array(); } /* * phptype: Database backend used in PHP (mysql, odbc etc.) * dbsyntax: Database used with regards to SQL syntax etc. * protocol: Communication protocol to use (tcp, unix etc.) * hostspec: Host specification (hostname[:port]) * database: Database to use on the DBMS server * username: User name for login * password: Password for login */ if (!empty($ADODB_NEWCONNECTION)) { $obj = $ADODB_NEWCONNECTION($db); } else { if (!isset($ADODB_LASTDB)) $ADODB_LASTDB = ''; if (empty($db)) $db = $ADODB_LASTDB; if ($db != $ADODB_LASTDB) $db = ADOLoadCode($db); if (!$db) { if (isset($origdsn)) $db = $origdsn; if ($errorfn) { // raise an error $ignore = false; $errorfn('ADONewConnection', 'ADONewConnection', -998, "could not load the database driver for '$db'", $db,false,$ignore); } else ADOConnection::outp( "<p>ADONewConnection: Unable to load database driver '$db'</p>",false); return $false; } $cls = 'ADODB_'.$db; if (!class_exists($cls)) { adodb_backtrace(); return $false; } $obj = new $cls(); } # constructor should not fail if ($obj) { if ($errorfn) $obj->raiseErrorFn = $errorfn; if (isset($dsna)) { if (isset($dsna['port'])) $obj->port = $dsna['port']; foreach($opt as $k => $v) { switch(strtolower($k)) { case 'new': $nconnect = true; $persist = true; break; case 'persist': case 'persistent': $persist = $v; break; case 'debug': $obj->debug = (integer) $v; break; #ibase case 'role': $obj->role = $v; break; case 'dialect': $obj->dialect = (integer) $v; break; case 'charset': $obj->charset = $v; $obj->charSet=$v; break; case 'buffers': $obj->buffers = $v; break; case 'fetchmode': $obj->SetFetchMode($v); break; #ado case 'charpage': $obj->charPage = $v; break; #mysql, mysqli case 'clientflags': $obj->clientFlags = $v; break; #mysql, mysqli, postgres case 'port': $obj->port = $v; break; #mysqli case 'socket': $obj->socket = $v; break; #oci8 case 'nls_date_format': $obj->NLS_DATE_FORMAT = $v; break; } } if (empty($persist)) $ok = $obj->Connect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']); else if (empty($nconnect)) $ok = $obj->PConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']); else $ok = $obj->NConnect($dsna['host'], $dsna['user'], $dsna['pass'], $dsna['path']); if (!$ok) return $false; } } return $obj; } ou é esse que você pedio ? class classe{ /* Conexao Banco */ private $cam = "mysql"; private $base = "Nomebanco"; private $user = "userbanco"; private $senha = "senhabanco"; public $sql; public function conexao(){ $conexao = mysql_connect($this->cam,$this->user,$this->senha); $ligacao = mysql_select_db($this->base,$conexao); } public function exe_query(){ $result = mysql_query($this->sql); if (!$result){ die('Comando Invalido: '. mysql_error()); } else{ return $result; } } } olá willian deu certo cara agora era so retirar o mysql_error() o problema esta aqui, ao invéz disso: $sql [color="#666600"]=[/color] [color="#008800"][color="#000000"]"select * from CURSOS WHERE CURSOS_STATUS = [color="#008800"]"[/color][color="#666600"].[/color]$status[color="#666600"].[/color][color="#008800"]"[/color][/color][/color][color="#008800"]"[/color][color="#666600"];[/color] era isso $sql = "select * from CURSOS WHERE CURSOS_STATUS = '{$status}'"; agora ficou assim <?php include("conexao.php"); include("funcoes.php"); $con = new conexao(); $status = "A"; $sql = "select * from CURSOS WHERE CURSOS_STATUS = '{$status}'"; mysql_query("SET NAMES 'utf8'"); $query = $con->banco->Execute($sql); while($array = $query->FetchNextObject()) { echo ' <div id="resultado"> <img src="imagem/'.$array->CURSOS_ID.'.jpg" alt="Imagem" /> <h2>'.$array->CURSOS_DESCRICAO.'</h2> <ul> '; $sql1 = "select * from ESPECIALIZACAO WHERE ESP_IDCURSO = '".$array->CURSOS_ID."' && ESP_STATUS = '{$status}'"; mysql_query("SET NAMES 'utf8'"); $query1 = $con->banco->Execute($sql1); while($array1 = $query1->FetchNextObject()) { echo '<li><a href="cursos_completo.php?esp='.$array1->ESP_ID.'&cursos='.$array->CURSOS_ID.'" title="Vizualização completa">'.$array1->ESP_DESCRICAO.'</a></li>'; } echo' </ul></div>'; } ?> OBRIGADO William.. olá willian deu certo cara agora era so retirar o mysql_error() o problema esta aqui, ao invéz disso: $sql [color="#666600"]=[/color] [color="#008800"][color="#000000"]"select * from CURSOS WHERE CURSOS_STATUS = [color="#008800"]"[/color][color="#666600"].[/color]$status[color="#666600"].[/color][color="#008800"]"[/color][/color][/color][color="#008800"]"[/color][color="#666600"];[/color] era isso $sql = "select * from CURSOS WHERE CURSOS_STATUS = '{$status}'"; agora ficou assim <?php include("conexao.php"); include("funcoes.php"); $con = new conexao(); $status = "A"; $sql = "select * from CURSOS WHERE CURSOS_STATUS = '{$status}'"; mysql_query("SET NAMES 'utf8'"); $query = $con->banco->Execute($sql); while($array = $query->FetchNextObject()) { echo ' <div id="resultado"> <img src="imagem/'.$array->CURSOS_ID.'.jpg" alt="Imagem" /> <h2>'.$array->CURSOS_DESCRICAO.'</h2> <ul> '; $sql1 = "select * from ESPECIALIZACAO WHERE ESP_IDCURSO = '".$array->CURSOS_ID."' && ESP_STATUS = '{$status}'"; mysql_query("SET NAMES 'utf8'"); $query1 = $con->banco->Execute($sql1); while($array1 = $query1->FetchNextObject()) { echo '<li><a href="cursos_completo.php?esp='.$array1->ESP_ID.'&cursos='.$array->CURSOS_ID.'" title="Vizualização completa">'.$array1->ESP_DESCRICAO.'</a></li>'; } echo' </ul></div>'; } ?> OBRIGADO William.. Compartilhar este post Link para o post Compartilhar em outros sites