>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



PHP com MySql - Aula 15 - exibir autor


Olá amigos, estou me encaminhando para o final do curso e ao chegar na aula 15, me deparei com um problema ao inserir os comandos SQL passados no video, o formulario listar.php não responde aos comandos, dando um erro de sql como na imagem

gostaria de frisar que, como as funções "mysql" , segundo o netbeans, ficarão obsoletas em breve, portanto as substituí pelas funções "mysqli", fazendo as devidas adaptações para que o código rodasse, inclusive na parte em questão, a mesma estava rodando, inclusive funcionando os filtros criados em listar.php.

Segue o meu código.


include("conexao.php");
?>












Listar News


By Autor:





    $SQL = "SELECT news.*, autores.nome, date_format(news.data, '%d/%m/%Y')as data_pt FROM news INNER JOIN autor on autores.id = news.autor";
    if(isset($_GET["cbAutores"])){
    if(is_numeric($_GET["cbAutores"])){
    $SQL .= " WHERE autor = ".$_GET["cbAutores"];
    }
    }
    $query = mysqli_query($conn, $SQL);
    while($exibir = mysqli_fetch_array($query)){
    ?>
  • - Por [veja+]

  • }
    ?>













9 Respostas


Olá

Não seria

$SQL .= " WHERE news.autor = ".$_GET["cbAutores"];

Ao invez de

$SQL .= " WHERE autor = ".$_GET["cbAutores"];




O codigo passado na aula é assim msm, tentei com a alteração mas continuou com o mesmo erro.

Engraçado que esse código rodava e o filtro funcionava.




Olá

Quando o erro acontece?




Veja se possui as tabelas no banco.




Consegui resolver, o problema era na chamada da função MySql, como minhas tabelas são nomeadas diferentes, me enrolei na hora de adaptar.

Abraço e vlw pelo suporte novamente




Boa tarde. Eu estou com um erro bem parecido, só que me parece que o erro está no arquivo de conexão, creio que na linha 9.

Todos os arquivos estão na mesma pasta. Segue o código da página conexao:




Estou tentando incluir imagens do erro, que está acontecendo comigo na página listar, mas não estou conseguindo que as imagens apareçam, então vou tentar inserir os códigos. Esse é o da página conexao (todos os arquivos estão dentro da mesma página):

<?php


// este é o arquivo responsável pela conexão de dados com o banco de dados sistema


    $server = \"localhost\";

    $user = \"root\";

    $password = \"\";

    $dbName = \"sistema\";

    $conn = mysql_connect($server, $user, $password);

    $db = mysql_select_db($dbName, $conn);

?>

Esse é o código atual da página listar:

<?php

    include (\"conexao.php\");


?>


<!DOCTYPE html>

<!--

Página listar em php

-->

<html>

    <head>

        <meta charset=\"UTF-8\">

        <title>Listar News</title>

        <style type=\"text/css\">

            @import url(\"main.css\");

        </style>

        

        <script type=\"text/javascript\">

            //código

        </script>

    </head>

    <body>

        <div id=\"cadastro\">

        <fieldset><!--Moldura do cadastro-->

            <legend>Listar News</legend>

            <ul>

                <li>2021-05-03 00:00:00 - Títilo da News por Ronaldo [Veja +]</li>

            </ul>


        </fieldset>

        </div>

    </body>

</html>



E essa é a mensagem de erro que aparece na página:

( ! ) Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\\wamp64\\www\\WebPHP\\conexao.php on line 9
( ! ) Error: Call to undefined function mysql_connect() in C:\\wamp64\\www\\WebPHP\\conexao.php on line 9
Call Stack
#TimeMemoryFunctionLocation
10.0004406288{main}( )...\\listar.php:0
20.0006406576include( \'C:\\wamp64\\www\\WebPHP\\conexao.php\' )

...\\listar.php:2




Continuo fazendo testes aqui, mas nada resolve. Já abri o arquivo php.ini pra ver o caminho do extension_dir e parece estar correto:

extension_dir =\"c:/wamp64/bin/php/php7.3.21/ext/\" . Não resolveu. Copiei a dll libmysql.dll para C:\\Windows\\System32, pq lá de fato não tinha. Não resolveu.

Copiei o arquivo ORIGINAL conexao.php que vem com o curso e só alterei o nome do banco e a senha (que eu não coloquei) e não funcionou, mesmo mudando ele de diretório, e dá erro.

A única coisa que ainda não experimentei é instalar o Mysql Server. No curso de Mysql havia um alerta a respeito de duas versões do mysql. Bom, eu fiz todo o curso de mysql utilizando a intalação feita pelo wampserver64. Lá tem o console, dá pra criar os bancos de dados e, quando instalei o workbench, como eu não tinha o mysql instalado, eu inatlei dentro do wamp64 e funcionou perfeitamente. Resumindo, até agora eu NÃO PRECISEI do mysql server, mas agora, por causa do lance da dll, que não tinha no system 32, eu to pensando nisso. No início do curso de mysql eu tinha baixado a última versão da comunidade, que é a mysql-installer-community-8.0.24.0. NÃO INSTALEI, mas agora, eu fui lá e procurei a mesma versão do wamp64, que é a mysql-5.7.31-winx64, e achei, mas tá como zip, só a pasta, então não tem instalador, como a mais recente. Não sei o que fazer. Sem realizar a conexão com mysql não posso dar prosseguimento... Não sei instalar a versão zip 5.7.31 e não sei se ao intalar a versão atual 8, que eu tenho o instalador, se vai dar algum conflito...




Ronaldo,

Pode fazer um teste?

Ali no Wamp-Server, ao clicar sobre ele, você consegue alterar a versão do PHP....

Pode alterar para 5.x?