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'],
));
स्पष्टीकरण:
Prepared statements
SQL
को रोकने के लिए आपके इनपुट को साफ करने के लिए उपयोग किया जाता है इंजेक्शन। आप SQL
. में सिंगल या डबल कोटेशन के बिना अपने मूल्य का उपयोग कर सकते हैं बाध्यकारी के लिए बयान।
Execute
. में फ़ंक्शन आप अपने SQL statement
के लिए एक सरणी पास कर सकते हैं समान अनुक्रमणिका नाम के साथ।
mysql_: . के बजाय PDO या mysqli_* का उपयोग करने का क्या कारण है? क्योंकि mysql_ एक्सटेंशन बहिष्कृत है और PHP 7 में उपलब्ध नहीं है।
साइड नोट:
मुझे पता है @Rahautos ने MYSQL
. का उपयोग करने के लिए पहले ही समाधान प्रदान कर दिया है मानक Date Format
('Y-m-d')
जैसा कि मैंने अपने execution
. में प्रयोग किया है ।