PIKADEMIA

Projekt edukacji alternatywnej

Dodawanie rekordów do bazy danych w php – INSERT INTO

Aby uchronić się przed wprowadzaniem i przesłaniem niebezpiecznych danych możemy wyprowadzić znaki apostrofu i cudzysłowu za pomocą metody addslashes(). Dodatkowo utniemy białe znaki na początku i końcu używając metody trim().

Poniżej przykład dodania wpisów do tabeli wp_posts w wordpressie. Dodajemy 3 pola, post_title, post_content i datę wpisu.

<form action="index.php" method ="POST" accept-charset="utf-8">
    Post title: <input name ="post_title" type="text">
    Post content: <input name ="post_content" type="text">
    <p><input type="submit" value="Submit"></p>
</form>

<?php
if(!empty(trim($_POST['post_title'])) && !empty(trim($_POST['post_content']))){
    $post_title = addslashes($_POST['post_title']);
    $post_content = addslashes($_POST['post_content']);
    $dbc = mysqli_connect('localhost', 'root','','zapasowa') OR die(mysqli_connect_error());
    mysqli_set_charset($dbc, 'utf-8');
    $sql = "INSERT INTO `xd_posts` (post_title, post_content, post_date) 
    VALUES ('$post_title', '$post_content', NOW())";
    $result = mysqli_query($dbc,$sql);

    if(mysqli_affected_rows($dbc)!=1){
        echo "<p>Error".mysqli_error($dbc)."</p>";
        mysqli_close($dbc);
    }
    else{
        mysqli_close($dbc);
        echo "Wpis dodano!";
    }
}