Guest User

Untitled

a guest
Jan 24th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. from __future__ import print_function
  2. import mysql.connector
  3. from mysql.connector import errorcode
  4. def inout():
  5. try:
  6. print("Connecting to MySQL database...")
  7. cnx = mysql.connector.connect(user='root', password='',
  8. host='localhost', database='phpdb')
  9. if cnx.is_connected():
  10. print("...connection established.")
  11. else:
  12. print("...connection failed.")
  13. cursor = cnx.cursor()
  14. args = ['abcdefg', 1]
  15. cursor.callproc('demoSp', args)
  16.  
  17. for resultset in cursor.stored_results():
  18. for result in resultset.fetchall():
  19. print(result[0])
  20. except mysql.connector.Error as err:
  21. if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
  22. print("Something is wrong with your user name or password")
  23. elif err.errno == errorcode.ER_BAD_DB_ERROR:
  24. print("Database does not exist")
  25. else:
  26. print(err)
  27. finally:
  28. cursor.close()
  29. cnx.close()
  30. print("Connection closed.")
  31. if __name__ == "__main__":
  32. inout()
  33.  
  34. DROP DATABASE IF EXISTS phpdb;
  35. CREATE DATABASE phpdb;
  36. USE phpdb;
  37. DROP PROCEDURE IF EXISTS demoSp;
  38. DELIMITER $$
  39. CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255), INOUT inOutParam INT)
  40. BEGIN
  41. DECLARE z INT;
  42. SET z = inOutParam + 1;
  43. SET inOutParam = z;
  44. SELECT inputParam;
  45. SELECT CONCAT('zyxw', inputParam);
  46. END;$$
  47. DELIMITER ;
  48. USE phpdb;
  49. CALL demoSp('abcdefg', @inOutParam);
  50.  
  51. <?php
  52. $host = 'localhost';
  53. $username = 'root';
  54. $password = '';
  55. $dbname = 'phpdb';
  56. try {
  57. $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
  58. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  59. echo "Connected to MySQL Server successfully." . "n";
  60. $sql = "CALL demoSp('abcdefg', @inOutParam);";
  61. $rows = $pdo->query($sql);
  62. foreach($rows as $row) {
  63. echo $row[0] . "n";
  64. }
  65. } catch (Exception $e) {
  66. $error = $e->getMessage();
  67. echo $error . "n";
  68. } finally {
  69. $pdo = null;
  70. echo "Connection closed." . "n";
  71. }
  72.  
  73. <?php
  74. $dsn = 'mysql:host=localhost;dbname=phpdb';
  75. $username = 'root';
  76. $password = '';
  77. $options = array(
  78. PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
  79. );
  80. $db = new PDO($dsn, $username, $password, $options);
  81. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  82. $newName = 'abcdefg';
  83. $stmt=$db->prepare("CALL demoSp(:name, @inOutParam);");
  84. $stmt->bindParam(':name', $newName, PDO::PARAM_STR);
  85. $stmt->execute();
  86. $stmt->closeCursor();
  87. $rowList = $db->query("SELECT @inOutParam AS inOutParam")->fetch(PDO::FETCH_ASSOC);
  88. var_dump($rowList);
Add Comment
Please, Sign In to add comment