$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, 第19行的sample-sp.php中给出的boolean 结果集有0行。 警告:mysqli_free_result()要求参数1为mysqli_result,第24行的sample-sp.php中给出布尔值
但我将存储过程CALL更改为正常查询工作正常,
告诉我,有什么事我应该检查/,
我的代码段中是否有任何错误
注意:在我的服务器MYSQLI启用
由于
答案 0 :(得分:0)
您的查询中似乎有错误。
如果mysqli_query
失败,则不会检查返回false
的返回值。您可以通过将mysqli_error($link)
称为
$result = mysqli_query($link, "CALL show_sp_test()");
if(!$result) {
die('Invalid query: ' . mysqli_error($link));
}