Возникли проблемы при вставке в базу данных - PullRequest
0 голосов
/ 02 мая 2010

У меня есть хранимая процедура:

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**

1 Ответ

0 голосов
/ 02 мая 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...