Fábionm 0 Denunciar post Postado Março 8, 2010 Olá galera, sou iniciante em php e estou com dúvidas em relação a conexão com o banco. estou com dois tipos de "warning": Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\phpcurso\cursophp\admin\connection.php on line 53 e Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\wamp\www\phpcurso\cursophp\admin\connection.php on line 57 segue meu código: <?php function getConnection(){ $conn = mysqli_connect("localhost","root",""); if(empty($conn)){ print "Erro ao tentar conectar!"; return null; }else{ return $conn; } } function execute($sql){ $conn = getConnection(); mysqli_query($conn,$sql); if(mysqli_affected_rows($sql) > 0) $result = true; else $result = false; mysqli_close($conn); return $result; } function executeQuery($sql){ $conn = getConnection(); $rs = mysqli_query($conn,$sql); $result = array(); while($row = mysqli_fetch_array($rs)){ $result[] = $row; } mysql_free_result($rs); mysqli_close($conn); return $result; } ?> Acredito que o problema seja com a variável "$sql" em outro código, valido o login e senha e a variável $sql está assim: $sql = "SELECT 'login', 'senha' FROM 'login' WHERE trim(upper(login)) = trim(upper('$login')) and trim(upper(senha))='$senha'"; Peço a ajuda de vcs e desde já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
ozorio silva 0 Denunciar post Postado Março 8, 2010 ai ve se te ajuda testa ai mas te aconselho a usar PDO por ser bem mais segura e avançado pois funciona em qualquer linguagem e banco mysql,postgresql - php,java etc.. <?php $link = mysqli_connect ( "localhost" , "root" , "senha" , "nome do banco" ); /* checa conexao */ if ( mysqli_connect_errno ()) { printf ( "Conexao Falhou: %s\n" , mysqli_connect_error ()); exit(); } $sql ="SELECT * FROM usuarios tua ação no banco de dados"; if ($result = mysqli_query ( $link ,$sql )) { $row = mysqli_fetch_array ( $result ); echo $row ['nome']; mysqli_free_result ( $result ); } mysqli_close ( $link ); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Fábionm 0 Denunciar post Postado Março 8, 2010 Agora ta com erro na função mysqli_query. Segue o erro: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo II 2 Denunciar post Postado Março 8, 2010 não é assim mysqli_query, o certo é mysql_query() e no final poe o or die (mysql_error()), ficando assim mysql_query ( $link ,$sql ) or die (mysql_error()); isso facilida identificar erros na query sql, ajuda bastante Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 8, 2010 eh o contrário, primeiro a consulta, dps o link mysql_query($sql,$link) or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
Fábionm 0 Denunciar post Postado Março 8, 2010 continua dando erro tanto com o mysql_query() quanto o mysqli(); o primeiro dá esse erro: Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in e o segundo dá esse: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in achei que fosse problemas com o mysql.dll e mysqli.dll, porém estão ok tanto no php.ini quanto na pasta ext. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 8, 2010 remova a variável $link utilize apenas $sql = mysql_query($sql) or die(mysql_error()); poste também o valor da variável de consulta, por favor Compartilhar este post Link para o post Compartilhar em outros sites
Fábionm 0 Denunciar post Postado Março 8, 2010 Aparece agora o seguibte erro Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Access denied for user 'ODBC'@'localhost' (using password: NO) segue a variavel: $sql = "SELECT login, senha FROM login WHERE trim(upper(login)) = trim(upper('$login')) and trim(upper(senha))='$senha'"; Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 8, 2010 se é que o usuário (ODBC) existe, ele possui uma senha, e você está tentando realizar a conexão sem definir a senha seu problema está numa linha parecida com essa mysql_connect('localhost','ODBC',''); Compartilhar este post Link para o post Compartilhar em outros sites
ozorio silva 0 Denunciar post Postado Março 8, 2010 cara não misture mysql com mysqli são totalmente diferentes ok de uma olhada : MYSQL MYSQLI mas se for com (mysql) tenta assim seria um sistema de login certo com (mysqli) ja te pasei anteriormente. <?php $CON = mysql_connect ( "localhost" , "root" , "senha ou em branco")or die(mysql_error()); $DBA = mysql_select_db('teu banco de dados',$CON) or die(mysql_error()); $sql = mysql_query("SELECT 'login', 'senha' FROM 'login' WHERE trim(upper(login)) = trim(upper('$login')) and trim(upper(senha))='$senha'")or die(mysql_error()); $verifica= mysql_num_rows($sql)or die(mysql_error()); if($verifica==1){ $_SESSION['login']=$login; $_SESSION['senha']=$senha; echo "<script>window.location.href='area-restrita.php'</script>"; } else{ echo "<script>alert('ERRO LOGIN OU SENHA NÂO CONFEREM ');</script>"; echo "<script>history.back();'</script>"; echo "<script>exit();</script>"; exit (); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Fábionm 0 Denunciar post Postado Março 8, 2010 se é que o usuário (ODBC) existe, ele possui uma senha, e você está tentando realizar a conexão sem definir a senha seu problema está numa linha parecida com essa mysql_connect('localhost','ODBC',''); Acredito que não, porém segue a variavel de conexão: $link = mysqli_connect ( "localhost" , "root" , "","cadastro"); Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Março 8, 2010 adicione isso aqui: or die(mysql_error());depois de TODAS as funções mysql e or die(mysqli_error());depois de funções mysqli mysql_connect(bla bla bla);viramysql_connect(bla bla bla) or die(mysql_error()); mysql_query(bla bla bla);viramysql_query(bla bla bla) or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites