Aprendendo só com um livro ...

Enviada por Everaldo 
Everaldo
Aprendendo só com um livro ...
09 de November de 2017 às 11:24PM
Meu primeiro contato com PHP, está sendo com o livro que comprei há algum tempo. Criei uns scripts, para simples uso, como projeto base e, com o xampp-linux-x64-7.0.8-0, não consigo acessar à base de dados que, agora, usa o servidor MariaDB ... não sei bem se é uma incompatibilidade com o mesmo, ou por que ainda sou iniciante, então lhes peço ajuda. Essa é a mensagem de erro que é reportada, quando acesso pelo navegador:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /opt/lampp/htdocs/fones.php:5 Stack trace: #0 {main} thrown in /opt/lampp/htdocs/fones.php on line 5


E esse é o script em questão:

<?php

// Arquivo: fones.php

$conexao = mysql_connect("localhost","root", "");
$db = mysql_select_db("fones");
$sql = "SELECT * FROM cadastro ORDER BY nome";
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");

echo "<table width=840 border=1 cellpadding=1 cellspacing=1>";
echo "<tr>";
echo "<th width=15>Codigo:</th>";
echo "<th width=300>Nome:</th>";
echo "<th width=300>Fone:</th>";
echo "<th width=50>Alterar</th>";
echo "<th width=50>Excluir</th>";
echo "</tr>";

while ($linha=mysql_fetch_array($resultado)) {
$codigo = $linha["codigo"];
$nome = $linha["nome"];
$fone = $linha["fone"];
$data = $linha["data"];
$hora = $linha["hora"];

$novadata = substr($data,8,2) . "/" .substr($data,5,2) . "/" . substr($data,0,4);
$novahora = substr($hora,0,2) . "h" .substr($hora,3,2) . "min";

echo "<tr>";
echo "<th width=15>$codigo<br></th>";
echo "<th width=300>$nome<br></th>";
echo "<th width=300>$fone<br></th>";
echo "<th width=50><a href='altfone.php?id=$codigo'>Alterar</a><br></th>";
echo "<th width=50><a href='excfone.php?id=$codigo'>Excluir</a><br></th>";
echo "</tr>";
echo "<br>";

}

echo "</table>";

echo "<hr><br>";
echo "<form action='cadfone.php' method='post'>";
echo "<input type='submit' value='Cadastrar'>";
echo "</form>";
echo "<form action='lisfone.php' method='post'>";
echo "<input type='submit' value='Listar'>";
echo "</form>";

?>


Aguardo vosso auxílio.
Trambulhao
Re: Aprendendo só com um livro ...
10 de November de 2017 às 09:18AM
As funções mysql_* foram removidas na versão 7 do PHP (http://php.net/manual/en/ref.mysql.php). Aprenda a usar PDO (http://php.net/manual/en/book.pdo.php) que serve para vários banco de dados.. ou a class mysqli somente para mySQL (http://php.net/manual/en/class.mysqli.php)
Trambulhao
Re: Aprendendo só com um livro ...
10 de November de 2017 às 10:09AM
EXEMPLO:

<?php

// Info Comexão
$dbhost = 'localhost'; // ou 127.0.0.1
$dbname = 'fones'; // nome do banco de dados
$dbuser = 'root'; // usuário do banco de dados
$dbpass = ''; // senha do banco de dados

// DNS MySQL
$dsn = 'mysql:host='.$dbhost.';dbname='.$dbname;

try {
$pdo = new PDO($dsn, $dbuser, $dbpass);
} catch (PDOException $e) {
echo 'Error na conexão com o MySQL: ', $e->getMessage();
}

$sqlCadastros = $pdo->prepare("SELECT * FROM cadastro ORDER BY nome");
$sqlCadastros->execute();

$cadastros = $sqlCadastros->fetchAll(PDO::FETCH_ASSOC);

if (empty($cadastros)) {
echo 'Nenhum resultado encontrado!';
} else {
// debug //
//echo '<pre>';
//var_dump($cadastros);
?>

<table width="840" border="1" cellpadding="1" cellspacing="1">
<tr>
<th width="15">Codigo:</th>
<th width="300">Nome:</th>
<th width="300">Fone:</th>
<th width="50">Alterar</th>
<th width="50">Excluir</th>
</tr>

<?php

foreach ($cadastros as $cadastro):
$data = $cadastro["data"];
$hora = $cadastro["hora"];

$novadata = substr($data,8,2) . "/" .substr($data,5,2) . "/" . substr($data,0,4);
$novahora = substr($hora,0,2) . "h" .substr($hora,3,2) . "min";

echo '<tr>';
echo '<th width="15">', $cadastro["codigo"], '<br></th>';
echo '<th width="300">', $cadastro["nome"], '<br></th>';
echo '<th width="300">', $cadastro["fone"], '<br></th>';
echo '<th width="50"><a href="altfone.php?id=', $cadastro["codigo"], '">Alterar</a><br></th>';
echo '<th width="50"><a href="excfone.php?id=', $cadastro["codigo"], '">Excluir</a><br></th>';
echo '</tr>';
endforeach;
?>

</table>

<br><hr><br>

<form action="cadfone.php" method="post">
<input type="submit" value="Cadastrar">
</form>

<form action="lisfone.php" method="post">
<input type="submit" value="Listar">
</form>

<?php } ?>
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.