2011-10-12 20 views
22

Sadece veritabanlarını öğreniyorum ve kullanıcı girişlerini depolayabilmek istiyorum. Birisi bana form verisi almak ve php kullanarak bir veritabanına kaydetmek için temel bir örnek verebilir mi? Ayrıcaphp ile Hazırlanmış Deyimi kullanarak mysql içine nasıl eklenir

+0

PDO'ya göz atın: http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html. Doğru yapmayı öğrenmek isteyen +1. – Herbert

+0

Aynı zamanda php kılavuzu http://php.net/manual/en/pdo.prepared-statements.php –

cevap

22

sample.html

<form action="sample.php" method="POST"> 
<input name="sample" type="text"> 
<input name="submit" type="submit" value="Submit"> 
</form> 

sample.php

<?php 

if (isset($_POST['submit'])) { 

    $mysqli = new mysqli('localhost', 'user', 'password', 'mysampledb'); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 

    $stmt = $mysqli->prepare("INSERT INTO SampleTable VALUES (?)"); 
    $stmt->bind_param('s', $sample); // bind $sample to the parameter 

    $sample = isset($_POST['sample']) 
       ? $_POST['sample'] 
       : ''; 

    /* execute prepared statement */ 
    $stmt->execute(); 

    printf("%d Row inserted.\n", $stmt->affected_rows); 

    /* close statement and connection */ 
    $stmt->close(); 

    /* close connection */ 
    $mysqli->close(); 
} 

?> 

Bu çok temel bir örnektir sql saldırılardan formu güvenli hale. Bugün birçok PHP geliştiricisi PDO'a dönüyor. Mysqli, ’ t'yi geçersiz kılar, ancak PDO,, IMHO için kadardır.

+5

'real_escape_string()' gereksizdir. Hazırlanan ifadeleri kullanmanın tüm amacı, değerleri el ile kaçmaktan kaçınmaktır. –

İlgili konular