Shell script com PHP
Este artigo nos introduz ao mundo da programação shell script, nos apresentando de forma na prática todo o seu poder, com exemplos de integração de shell script, PHP e MySQL.
Parte 3: Shell, PHP e banco de dados
Utilizaremos agora conexão com o banco de dados MySQL.
Vamos entender que você já sabe mexer com MySQL e que tem um banco criado com o nome de intranet e uma tabela com as seguintes características:
Vamos entender que você já sabe mexer com MySQL e que tem um banco criado com o nome de intranet e uma tabela com as seguintes características:
- nome da tabela: agenda
- campos: nome, tel
#!/bin/bash
echo -n "Digite o Nome: "
read nome
echo -n "Digite o numero de seu Telefone: "
read tel
/usr/bin/php -q << PHP
<?
\$host = "localhost";
\$user = "usuario";
\$senha = "senha";
\$conexao = mysql_connect(\$host,\$user,\$senha); mysql_select_db("intranet", \$conexao);
\$insert = "insert into agenda (nome,tel) values ('$nome','$tel')";
mysql_query(\$insert,\$conexao);
echo "Dados Inseridos com Sucesso !!! \n";
?>
PHP
echo -n "Digite o Nome: "
read nome
echo -n "Digite o numero de seu Telefone: "
read tel
/usr/bin/php -q << PHP
<?
\$host = "localhost";
\$user = "usuario";
\$senha = "senha";
\$conexao = mysql_connect(\$host,\$user,\$senha); mysql_select_db("intranet", \$conexao);
\$insert = "insert into agenda (nome,tel) values ('$nome','$tel')";
mysql_query(\$insert,\$conexao);
echo "Dados Inseridos com Sucesso !!! \n";
?>
PHP
Nesse exemplo o usuário digitará o nome e depois um telefone e será gravado na tabela.
Script para consulta de dados no banco:
#!/bin/bash
echo -n "Digite o nome para ser consultado: "
read nome
/usr/bin/php -q << PHP
<?
\$host = "localhost";
\$user = "usuario";
\$senha = "senha";
\$conexao = mysql_connect(\$host,\$user,\$senha); mysql_select_db("intranet", \$conexao);
\$consultar_login="select * from agenda where nome like '%$nome%'";
\$resultado=mysql_query(\$consultar_login,\$conexao) or die (mysql_error());
while(\$campo = mysql_fetch_array(\$resultado)) { \$nome = \$campo["nome"]; \$tel = \$campo["tel"];
echo "\$nome | \$tel \n" ; }
?>
PHP
echo -n "Digite o nome para ser consultado: "
read nome
/usr/bin/php -q << PHP
<?
\$host = "localhost";
\$user = "usuario";
\$senha = "senha";
\$conexao = mysql_connect(\$host,\$user,\$senha); mysql_select_db("intranet", \$conexao);
\$consultar_login="select * from agenda where nome like '%$nome%'";
\$resultado=mysql_query(\$consultar_login,\$conexao) or die (mysql_error());
while(\$campo = mysql_fetch_array(\$resultado)) { \$nome = \$campo["nome"]; \$tel = \$campo["tel"];
echo "\$nome | \$tel \n" ; }
?>
PHP
Aqui estamos usando uma consulta com a opção de like no SQL, bastando para isso digitar apenas uma palavra para consulta.
Vamos entender o que acontece com o insert e com o consulta
Abrimos a script com shell script (#!/bin/bash) e depois colocamos outro interpretador dentro dele (/usr/bin/php -q << PHP). Para finalizarmos usamos o comando PHP e podemos ainda continuar com o shell script normalmente.
Só mais um lembrete: para usarmos variáveis do shell script dentro do PHP usamos a variável ($) seguido do nome do campo e para usarmos variáveis dentro do PHP, usamos (\) seguido do caractere ($), ficando assim:
\$nome
Um abraço
Thiago