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
.