Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import print_function
- import mysql.connector
- from mysql.connector import errorcode
- def inout():
- try:
- print("Connecting to MySQL database...")
- cnx = mysql.connector.connect(user='root', password='',
- host='localhost', database='phpdb')
- if cnx.is_connected():
- print("...connection established.")
- else:
- print("...connection failed.")
- cursor = cnx.cursor()
- args = ['abcdefg', 1]
- cursor.callproc('demoSp', args)
- for resultset in cursor.stored_results():
- for result in resultset.fetchall():
- print(result[0])
- except mysql.connector.Error as err:
- if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
- print("Something is wrong with your user name or password")
- elif err.errno == errorcode.ER_BAD_DB_ERROR:
- print("Database does not exist")
- else:
- print(err)
- finally:
- cursor.close()
- cnx.close()
- print("Connection closed.")
- if __name__ == "__main__":
- inout()
- DROP DATABASE IF EXISTS phpdb;
- CREATE DATABASE phpdb;
- USE phpdb;
- DROP PROCEDURE IF EXISTS demoSp;
- DELIMITER $$
- CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255), INOUT inOutParam INT)
- BEGIN
- DECLARE z INT;
- SET z = inOutParam + 1;
- SET inOutParam = z;
- SELECT inputParam;
- SELECT CONCAT('zyxw', inputParam);
- END;$$
- DELIMITER ;
- USE phpdb;
- CALL demoSp('abcdefg', @inOutParam);
- <?php
- $host = 'localhost';
- $username = 'root';
- $password = '';
- $dbname = 'phpdb';
- try {
- $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- echo "Connected to MySQL Server successfully." . "n";
- $sql = "CALL demoSp('abcdefg', @inOutParam);";
- $rows = $pdo->query($sql);
- foreach($rows as $row) {
- echo $row[0] . "n";
- }
- } catch (Exception $e) {
- $error = $e->getMessage();
- echo $error . "n";
- } finally {
- $pdo = null;
- echo "Connection closed." . "n";
- }
- <?php
- $dsn = 'mysql:host=localhost;dbname=phpdb';
- $username = 'root';
- $password = '';
- $options = array(
- PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
- );
- $db = new PDO($dsn, $username, $password, $options);
- $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $newName = 'abcdefg';
- $stmt=$db->prepare("CALL demoSp(:name, @inOutParam);");
- $stmt->bindParam(':name', $newName, PDO::PARAM_STR);
- $stmt->execute();
- $stmt->closeCursor();
- $rowList = $db->query("SELECT @inOutParam AS inOutParam")->fetch(PDO::FETCH_ASSOC);
- var_dump($rowList);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement