Stored procedures 致命错误:函数名必须是第6行C:\xampp\htdocs\ambot\database.php中的字符串

Stored procedures 致命错误:函数名必须是第6行C:\xampp\htdocs\ambot\database.php中的字符串,stored-procedures,php,Stored Procedures,Php,我有从数据库调用存储过程的PHP代码 <?php include("DataBase.php"); $sql=$mysqli_query("CALL sp()"); if( $sql === FALSE ) { trigger_error('Query failed returning error: '. $mysqli_error(),E_USER_ERROR); } else { while($row=$mysqli_fetch_array($sql)) { echo $row['id

我有从数据库调用存储过程的PHP代码

<?php
include("DataBase.php");
$sql=$mysqli_query("CALL sp()");
if( $sql === FALSE ) {
trigger_error('Query failed returning error: '. $mysqli_error(),E_USER_ERROR);
} else {
while($row=$mysqli_fetch_array($sql))
{
echo $row['id'].'--'.$row['item'].'';
}
}
?>

代码怎么了?我试图修复此问题,但在代码中使用存储过程修复此问题会增加难度。

您的代码在我的机器上运行良好

您可以尝试切换
mysqli.*
扩展,至少出于测试目的。为此,以这种方式更改代码,并确保连接信息正确(主机、用户名、密码、数据库名称)



mysql\u查询调用遇到错误,因此返回
FALSE
。请参阅php文档。你确定你的问题是正确的吗?我更新了上面的帖子。检查查询,错误现在不同了。你是以
include(“DataBase.php”)中的
root
身份登录的吗?对于您的过程,您可能希望将
定义器
设置得更出色一些。请参阅.yup上的MySQL文档,用户是root。这是什么意思?这是php版本中的错误吗?请参阅可能相关的帖子。@SoonToberealed请尝试我的代码,看看它能告诉您什么。很高兴它能帮上忙。祝你好运:D
<?php
$mysqli_hostname = "localhost";
$mysqli_user = "root";
$mysqli_password = "";
$mysqli_database = "liveedit";
$bd = $mysqli_connect($mysqli_hostname, $mysqli_user, $mysqli_password) 
or die("Opps some thing went wrong");
$mysqli_select_db($mysqli_database, $bd) or die("Opps some thing went wrong");
?>
Fatal error: Function name must be a string in C:\xampp\htdocs\ambot\database.php on line 6
<?php
//include("DataBase.php");

$db = mysqli_connect("localhost","user","password", "dbname");
if (!$db) {
    die('Could not connect: ' . mysqli_error());
}

$sql = mysqli_query($db, "CALL sp()");
if( $sql === FALSE ) {
   die('Query failed returning error: '. mysqli_error());
} else {
       while($row=mysqli_fetch_array($sql))
       {
        echo $row['id']. "<br>";
       }
   }
?>