I have a stored procedure:
CREATE PROCEDURE busi_reg
(IN instruc VARCHAR(10),
IN tble VARCHAR(20),
IN busNa开发者_运维技巧me VARCHAR(50), IN busCateg VARCHAR(100),
IN busType VARCHAR(50),
IN phne VARCHAR(20), IN addrs VARCHAR(200), IN cty VARCHAR(50),
IN prvnce VARCHAR(50), IN pstCde VARCHAR(10), IN nm VARCHAR(20),
IN surname VARCHAR(20), IN eml VARCHAR(50), IN pswd VARCHAR(20),
IN srce VARCHAR(50), IN refr VARCHAR(50), IN sess VARCHAR(50))
BEGIN
INSERT INTO b_register SET
business_name = busName,
business_category = busCateg,
business_type = busType,
phone = phne,
address = addrs,
city = cty,
province = prvnce,
postal_code = pstCde,
firstname = nm,
lastname = surname,
email = eml,
password = pswd,
source = srce,
ref_no = refr;
END;
This is my php script:
$busName = $_POST['bus_name'];
$busCateg = $_POST['bus_cat'];
$busType = $_POST['bus_type'];
$phne = $_POST['phone'];
$addrs = $_POST['address'];
$cty = $_POST['city'];
$prvnce = $_POST['province'];
$pstCde = $_POST['postCode'];
$nm = $_POST['name'];
$surname = $_POST['lname'];
$eml = $_POST['email'];
$srce = $_POST['source'];
$ref = $_POST['ref_no'];
$result2 = $db->query("CALL busi_reg('$instruc', '$tble', '$busName',
'$busCateg', '$busType', '$phne', '$addrs', '$cty', '$prvnce',
'$pstCde', '$nm', '$surname', '$eml', '$pswd', '$srce', '$refr', '')");
if($result)
{
echo "Data has been saved";
}
else
{
printf("Error: %s\n",$db->error);
}
Now the error that I get:
**Commands out of sync; you can't run this command now**
I assume because this is tagged MySQLi, that you're using it.
Are you using MYSQLI_USE_RESULT? A quick google search on the error quickly brought me to: http://php.net/manual/en/mysqli.query.php
If that is the problem you'll need to free your last result before executing the new one.
精彩评论