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

ट्रिगर से उत्पन्न आईडी फ़ील्ड डालें, लेकिन पास नहीं किया गया

व्यक्तिगत रूप से मैं संग्रहित प्रक्रियाओं का उपयोग करता हूं।
यहां पीडीओ के साथ एक बुनियादी उदाहरण दिया गया है:

संग्रहीत कार्यविधियां बनाने के लिए कोड :

CREATE DEFINER=`user`@`localhost` PROCEDURE `InsertUser`(IN `Input_username` INT, OUT `Out_ID` INT)
    LANGUAGE SQL
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN

   INSERT INTO users(
        username)
    VALUES (
    Input_username);

    SET Out_ID = LAST_INSERT_ID();
    SELECT Out_ID;
END

और PHP कोड :

  $insert = "CALL InsertUser(:Input_username,
                             @Out_ID)";
  $bdd = new PDO('mysql:host=localhost;dbname=db-name', 'user', 'password');

  $stmt = $bdd->prepare($insert);     
  $stmt->bindParam(':Input_username', rand(), PDO::PARAM_STR); // to create random name

  $stmt->execute();
  $tabResultat = $stmt->fetch();
  $id_user = $tabResultat['Out_ID'];
  var_dump($id_user);

मुझे आशा है कि मैंने मदद की होगी। :)

  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 क्वेरी में डुप्लिकेट परिणाम छुपाएं

  4. मुझे 'बाइनरी लॉगिंग संभव नहीं है' क्यों मिलता है। मेरे MySQL सर्वर पर?

  5. Mysql केवल नवीनतम तिथियों से अलग रिकॉर्ड का चयन करें