Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

तैयार बयानों के माध्यम से INSERT INTO के साथ PDO

आपको इसे ऐसे ही इस्तेमाल करना चाहिए

<?php
$dbhost = 'localhost';
$dbname = 'pdo';
$dbusername = 'root';
$dbpassword = '845625';

$link = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbusername, $dbpassword);

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (:fname, :sname, :age)');

$statement->execute([
    'fname' => 'Bob',
    'sname' => 'Desaunois',
    'age' => '18',
]);

आपके इनपुट को साफ करने के लिए तैयार बयानों का उपयोग किया जाता है, और ऐसा करने के लिए आप :foo . का उपयोग कर सकते हैं बिना SQL के भीतर बाइंड . के लिए कोई एकल उद्धरण चर, और फिर execute() . में फ़ंक्शन आप SQL कथन में परिभाषित चर के एक सहयोगी सरणी में पास करते हैं।

आप ? . का भी उपयोग कर सकते हैं :foo . के बजाय और फिर इस तरह इनपुट करने के लिए केवल मानों की एक सरणी में पास करें;

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);

दोनों तरीकों के अपने फायदे और नुकसान हैं। मैं व्यक्तिगत रूप से पैरामीटर नामों को बांधना पसंद करता हूं क्योंकि मेरे लिए इसे पढ़ना आसान है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या प्राथमिक कुंजी स्वचालित रूप से MySQL में अनुक्रमित होती है?

  2. टेबल लॉक किए बिना एक विशाल MySQL उत्पादन तालिका पर एक अनुक्रमणिका बनाएं

  3. MySQL में पिछले 3 महीने का बिक्री डेटा कैसे प्राप्त करें

  4. MySQL इवेंट शेड्यूलर प्रतिदिन एक विशिष्ट समय पर

  5. MySQL में इंटरसेक्ट करें