Quer aprender PHP?
Published: 2024-04-13 16:34:09

Vamos ver alguns conceitos então my brother 

![aoi slave](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n7o5237mda1ofdesm56v.png)



1. **Variáveis e Tipos de Dados**:
```php
$nome = "João";
$idade = 25;
$altura = 1.75;
$temperatura = true;
```

2. **Operadores**:
```php
$a = 10;
$b = 5;
$c = $a + $b; // $c será 15
$d = $a > $b; // $d será true
$nome_completo = "João" . " " . "Silva"; // Concatenação de strings
```

3. **Estruturas de Controle**:
```php
$idade = 18;

if ($idade >= 18) {
    echo "Pode entrar";
} else {
    echo "Não pode entrar";
}

for ($i = 0; $i < 5; $i++) {
    echo $i;
}

$array = [1, 2, 3];
foreach ($array as $valor) {
    echo $valor;
}
```

4. **Funções**:
```php
function soma($a, $b) {
    return $a + $b;
}

$resultado = soma(3, 4); // $resultado será 7
```

5. **Arrays**:
```php
$array = array(1, 2, 3);
echo $array[0]; // Saída: 1

$count = count($array); // $count será 3

array_push($array, 4); // Adiciona o valor 4 ao final do array
```

6. **Manipulação de Strings**:
```php
$nome = "João";
echo strlen($nome); // Saída: 4

$mensagem = "Olá mundo!";
echo substr($mensagem, 0, 3); // Saída: Olá
```

7. **Trabalhando com Formulários HTML**:
```php
// Supondo que o formulário tenha um campo de entrada com o nome 'nome'
$nome = $_POST['nome'];
echo $nome;
```

8. **Inclusão de Arquivos**:
```php
include 'funcoes.php';
```

9. **Tratamento de Erros**:
```php
try {
    // código que pode gerar um erro
} catch (Exception $e) {
    echo "Ocorreu um erro: " . $e->getMessage();
}
```

10. **Comentários**:
```php
// Este é um comentário de linha única

/*
Este é um comentário
de múltiplas linhas
*/
```

"só isso Davi??" **Claro q não meu parceiro.**

Vamos ver um pouco sobre a sintx `echo`



1. **Exemplo 1: Imprimindo uma string diretamente:**
   ```php
   $mensagem = "Olá mundo!";
   echo $mensagem;
   ```

   Neste exemplo, a variável `$mensagem` contém a string "Olá mundo!". O `echo` simplesmente imprime essa string na saída. No contexto de uma página da web, essa saída será o conteúdo exibido no navegador.

2. **Exemplo 2: Concatenando uma mensagem com uma variável:**
   ```php
   $nome = "João";
   echo "Olá, " . $nome . "! Bem-vindo!";
   ```

   Neste caso, o `echo` imprime uma mensagem que é uma concatenação de três partes:
   - A string "Olá, ".
   - O conteúdo da variável `$nome`.
   - A string "! Bem-vindo!".

   Quando executado, o resultado será algo como "Olá, João! Bem-vindo!". Aqui, o `echo` permite a combinação de strings e variáveis em uma única saída.

"A davi mais cade os arrays?" - _**Toma ai**_

Para imprimir um array em PHP, você pode usar a função `print_r()` ou `var_dump()`. Aqui está como você pode fazer isso:

```php
$array = array("maçã", "banana", "laranja");
echo "O conteúdo do array é: ";
print_r($array);
```

Este código irá imprimir algo assim:

```
O conteúdo do array é: Array ( [0] => maçã [1] => banana [2] => laranja )
```

ou, usando `var_dump()`:

```php
$array = array("maçã", "banana", "laranja");
echo "O conteúdo do array é: ";
var_dump($array);
```

Este código irá imprimir algo assim:

```
O conteúdo do array é: array(3) { [0]=> string(5) "maçã" [1]=> string(6) "banana" [2]=> string(7) "laranja" }
```

Ambos `print_r()` e `var_dump()` são úteis para imprimir o conteúdo de um array em PHP, mas `var_dump()` fornece mais informações sobre os tipos de dados e os comprimentos das strings. Escolha o método que melhor atenda às suas necessidades de depuração ou exibição de dados.

"Agora já posso arranjar um trampo mano dayvis?" pode sim mano **CONFIA**


## Vamos ver banco de dados pra finalizar



```php
<?php
// Dados de conexão ao banco de dados
$host = 'localhost'; // Endereço do servidor MySQL
$usuario = 'usuario'; // Nome de usuário do MySQL
$senha = 'senha'; // Senha do MySQL
$banco_de_dados = 'nome_do_banco'; // Nome do banco de dados MySQL

// Conexão com o banco de dados
$conexao = new mysqli($host, $usuario, $senha, $banco_de_dados);

// Verifica se houve algum erro na conexão
if ($conexao->connect_error) {
    die("Erro na conexão: " . $conexao->connect_error);
}

// Consulta SQL
$sql = "SELECT * FROM tabela";

// Executa a consulta
$resultado = $conexao->query($sql);

// Verifica se a consulta retornou resultados
if ($resultado->num_rows > 0) {
    // Exibe os resultados
    while($linha = $resultado->fetch_assoc()) {
        echo "ID: " . $linha["id"] . " - Nome: " . $linha["nome"] . "<br>";
    }
} else {
    echo "Não foram encontrados resultados.";
}

// Fecha a conexão
$conexao->close();
?>
```

Neste exemplo:
- `mysqli` é uma classe PHP usada para interagir com o MySQL.
- `new mysqli()` cria uma nova instância de conexão com o MySQL.
- `connect_error` verifica se houve algum erro na conexão.
- `query()` executa a consulta SQL no banco de dados.
- `fetch_assoc()` obtém cada linha de resultado como um array associativo.
- `num_rows` verifica o número de linhas retornadas pela consulta.

Certifique-se de substituir `'localhost'`, `'usuario'`, `'senha'` e `'nome_do_banco'` pelos valores corretos correspondentes ao seu ambiente de desenvolvimento. Além disso, substitua `'tabela'`, `'id'` e `'nome'` pelos nomes reais da tabela e dos campos em sua base de dados.

Claro, vamos dar um toque mais descontraído e divertido a esses exemplos!

1. **UPDATE (atualização de dados)** - `atualizar.php`:
```php
<?php
$host = 'uma_caverna_misteriosa';
$usuario = 'o_guardião';
$senha = 'segredo_antigo';
$banco_de_dados = 'livro_dos_tesouros';
$conexao = new mysqli($host, $usuario, $senha, $banco_de_dados);

if ($conexao->connect_error) {
    die("Ops, parece que tropeçamos em uma rocha! Erro: " . $conexao->connect_error);
}

$novo_nome = "O Novo Herói";
$id = 1;

$sql = "UPDATE tabela SET nome='$novo_nome' WHERE id=$id";

if ($conexao->query($sql) === TRUE) {
    echo "O herói foi renomeado com sucesso!";
} else {
    echo "Uh-oh! O feitiço de atualização falhou: " . $conexao->error;
}

$conexao->close();
?>
```

2. **SELECT (consulta de dados)** - `consultar.php`:
```php
<?php
$host = 'uma_caverna_misteriosa';
$usuario = 'o_guardião';
$senha = 'segredo_antigo';
$banco_de_dados = 'livro_dos_tesouros';
$conexao = new mysqli($host, $usuario, $senha, $banco_de_dados);

if ($conexao->connect_error) {
    die("Ops, parece que tropeçamos em uma rocha! Erro: " . $conexao->connect_error);
}

$sql = "SELECT * FROM tabela";

$resultado = $conexao->query($sql);

if ($resultado->num_rows > 0) {
    while($linha = $resultado->fetch_assoc()) {
        echo "Ah, olha só! Encontramos um tesouro: " . $linha["nome"] . "!<br>";
    }
} else {
    echo "Nenhum tesouro encontrado. Vamos continuar a busca!";
}

$conexao->close();
?>
```

3. **DELETE (exclusão de dados)** - `excluir.php`:
```php
<?php
$host = 'uma_caverna_misteriosa';
$usuario = 'o_guardião';
$senha = 'segredo_antigo';
$banco_de_dados = 'livro_dos_tesouros';
$conexao = new mysqli($host, $usuario, $senha, $banco_de_dados);

if ($conexao->connect_error) {
    die("Ops, parece que tropeçamos em uma rocha! Erro: " . $conexao->connect_error);
}

$id = 1;

$sql = "DELETE FROM tabela WHERE id=$id";

if ($conexao->query($sql) === TRUE) {
    echo "O tesouro foi encontrado e destruído!";
} else {
    echo "Uh-oh! O feitiço de exclusão falhou: " . $conexao->error;
}

$conexao->close();
?>
```

4. **INSERT (inserção de dados)** - `inserir.php`:
```php
<?php
$host = 'uma_caverna_misteriosa';
$usuario = 'o_guardião';
$senha = 'segredo_antigo';
$banco_de_dados = 'livro_dos_tesouros';
$conexao = new mysqli($host, $usuario, $senha, $banco_de_dados);

if ($conexao->connect_error) {
    die("Ops, parece que tropeçamos em uma rocha! Erro: " . $conexao->connect_error);
}

$novo_tesouro = "Um Amuleto Antigo";

$sql = "INSERT INTO tabela (nome) VALUES ('$novo_tesouro')";

if ($conexao->query($sql) === TRUE) {
    echo "Um novo tesouro foi descoberto e adicionado!";
} else {
    echo "Uh-oh! O feitiço de inserção falhou: " . $conexao->error;
}

$conexao->close();
?>
```



1. **FROM**: A cláusula FROM é usada para especificar de qual tabela ou conjunto de tabelas os dados serão selecionados. Em uma consulta SELECT, você precisa indicar de onde os dados devem ser recuperados. Por exemplo:

   ```sql
   SELECT * FROM tabela;
   ```

   Neste caso, "tabela" é o nome da tabela da qual você deseja recuperar os dados. Você pode selecionar dados de várias tabelas simultaneamente, separando-as por vírgula na cláusula FROM.

2. **WHERE**: A cláusula WHERE é usada para filtrar os resultados da consulta com base em uma condição específica. Ele permite que você especifique critérios de seleção mais detalhados. Por exemplo:

   ```sql
   SELECT * FROM tabela WHERE idade > 18;
   ```

   Neste exemplo, a consulta selecionará todas as linhas da tabela onde o valor da coluna "idade" for maior que 18.

3. **INTO**: A cláusula INTO é usada principalmente em comandos INSERT para especificar em qual tabela os novos dados serão inseridos. Por exemplo:

   ```sql
   INSERT INTO tabela (coluna1, coluna2) VALUES (valor1, valor2);
   ```

   Neste exemplo, "tabela" é o nome da tabela onde você deseja inserir os novos dados, e "coluna1" e "coluna2" são os nomes das colunas às quais os valores serão inseridos.

"E agora men?" 



## Agora é só praticar 

![lpace](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s62po6we646x1ixyh7np.png)