MySQL, php store процедура не выполняется: Ошибка получения - PullRequest
1 голос
/ 25 сентября 2010
$link = mysqli_connect("localhost",
"username", "testpassword",
"dbname")or die('connection
problem');

/* check connection */ if
(mysqli_connect_errno()) {   
printf("Connect failed: %s\n",
mysqli_connect_error());    exit(); }

//if ($result = mysqli_query($link,
"CALL my_sqrt(Other,@out_value)")) {

$result = mysqli_query($link, "CALL  show_sp_test()");

$row_cnt = mysqli_num_rows($result);

printf("Result set has %d rows.\n",
$row_cnt);

/* close result set */   
mysqli_free_result($result); //}

/* close connection */
mysqli_close($link);

Я получил сообщение об ошибке типа

Предупреждение: mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, логическое значение задано в sample-sp.php в строке 19 В наборе результатов 0 строк.Предупреждение: mysqli_free_result () ожидает, что параметр 1 будет mysqli_result, логическое значение указано в sample-sp.php в строке 24

, но я изменяю хранимую процедуру CALL на обычный запрос, работающий нормально,

Скажите, есть ли что-то, что я должен проверить /,

Есть ли ошибка в моем фрагменте,

ПРИМЕЧАНИЕ: В МОЕМ СЕРВЕРЕ MYSQLI ВКЛЮЧЕНО

Спасибо

1 Ответ

0 голосов
/ 25 сентября 2010

Похоже, у вас есть ошибка в запросе.

Вы не проверяете возвращаемое значение mysqli_query, которое возвращает false в случае сбоя.Вы можете узнать причину неудачи, позвонив mysqli_error($link) как:

$result = mysqli_query($link, "CALL show_sp_test()");
if(!$result) {
    die('Invalid query: ' . mysqli_error($link));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...