2010-05-01 2 views
0

У меня есть хранимая процедура:Имея проблему вставив в базу данных

CREATE PROCEDURE busi_reg 
    (IN instruc VARCHAR(10), 
    IN tble VARCHAR(20), 
    IN busName 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; 

Это мой PHP скрипт:

$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); 
} 

Теперь ошибка, что я получаю:

**Commands out of sync; you can't run this command now** 
+0

Какой тип таблицы вы используете? –

ответ

0

I предположим, потому что это помечено MySQLi, что вы его используете.

Вы используете MYSQLI_USE_RESULT? Быстрый поиск по ошибке быстро привел меня к: http://php.net/manual/en/mysqli.query.php

Если это проблема, вам нужно освободить свой последний результат перед тем, как выполнить новый.

+0

Почему это было приостановлено? Возможно, это не решение, но это не вводит в заблуждение. – egrunin

Смежные вопросы