Berikut adalah contoh lengkap kode Anda dengan menggunakan PDO :
$dbhost = "localhost";
$dbname = "llamabre_farms1";
$dbusername = "llamabre_visitor";
$dbpassword = "llama";
$link = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbusername,$dbpassword);
$statement = $link->prepare("
INSERT INTO farmsdir
(name, owners, location, phone, email, website, description, dateadded, logo, state)
VALUES(:fname, :sowners, :slocation, :sphone, :semail,
:swebsite, :sdescription, :dateadded, :logo, :state)
");
$statement->execute(array(
"fname" => $_POST['name'],
"sowners" => $_POST['owners'],
"slocation" => $_POST['location'],
"sphone" => $_POST['phone'],
"semail" => $_POST['email'],
"swebsite" => $_POST['website'],
"sdescription" => $_POST['description'],
"dateadded" => date('Y-m-d',strtotime($_POST['dateadded'])),
"logo" => $_POST['logo'],
"state" => $_POST['state'],
));
Penjelasan:
Prepared statements digunakan untuk membersihkan input Anda untuk mencegah SQL injeksi. Anda dapat menggunakan nilai Anda tanpa kutip tunggal atau ganda di SQL pernyataan untuk mengikat.
Dalam Execute fungsi Anda dapat meneruskan array untuk SQL statement Anda dengan nama indeks yang sama.
Apa alasan untuk menggunakan PDO atau mysqli_* daripada mysql_: Karena ekstensi mysql_ sudah usang dan tidak tersedia di PHP 7.
Catatan Samping:
Saya tahu @Rahautos sudah memberikan solusi untuk menggunakan MYSQL Date Format standar ('Y-m-d') seperti yang saya gunakan dalam execution .