mysql - Stored procedure strange error when called through php -
i have been coding registration page(login system) in php , mysql website. i'm using 2 stored procedures same. first stored procedure checks wether email address exists in database.second 1 inserts user supplied data mysql database. user has execute permission on both procedures.when execute them individually php script work fine. when use them in script second stored procedure(insert) not working.
stored procedure 1.
delimiter $$ create procedure reg_check_email(email varchar(80)) begin set @email = email; set @sql = 'select email user_account user_account.email=?'; prepare stmt @sql; execute stmt using @email; end$$ delimiter; stored procedure 2
delimiter $$ create procedure reg_insert_into_db(fname varchar(40), lname varchar(40), email varchar(80), pass varbinary(32), licenseno varchar(80), mobileno varchar(10)) begin set @fname = fname, @lname = lname, @email = email, @pass = pass, @licenseno = licenseno, @mobileno = mobileno; set @sql = 'insert user_account(email,pass,last_name,license_no,phone_no) values(?,?,?,?,?)'; prepare stmt @sql; execute stmt using @email,@pass,@lname,@licenseno,@mobileno; end$$ delimiter; when test these php sample script insert not working , first stored procedure(reg_check_email()) working. if comment off first one(reg_check_email), second stored procedure(reg_insert_into_db) working fine.
<?php require("/wamp/mysql.inc.php"); $r = mysqli_query($dbc,"call reg_check_email('ravi@gmail.com')"); $rows = mysqli_num_rows($r); if($rows == 0) { $r = mysqli_query($dbc,"call reg_insert_into_db('a','b','ravi@gmail.com','c','d','e')"); } ?> i'm unable figure out mistake.
thanks in advance, ravi.
i faced similar kind of issues, while executing stored procedures , queries using php script.
you should try mysqli_multi_query executing sps.
after calling procedures. use mysqli_free_result consume results.
can refer this link well. hope, it'll you.
Comments
Post a Comment