Php 我得到了一个错误,如列计数不';第行的值计数不匹配。1请解决此错误

Php 我得到了一个错误,如列计数不';第行的值计数不匹配。1请解决此错误,php,mysql,Php,Mysql,//这是我的问题 if(isset($_POST["break-first"])) { $bflag='true'; $bfid=$_POST["break-first"]; $query = "SELECT * FROM food_details WHERE food_id = '$bfid'"; $result = mysqli_query($_SESSION["connect"],$query); if(!$result) {

//这是我的问题

if(isset($_POST["break-first"])) {
    $bflag='true';
    $bfid=$_POST["break-first"];

    $query = "SELECT * FROM food_details WHERE food_id = '$bfid'";
    $result = mysqli_query($_SESSION["connect"],$query);
        if(!$result) {
            $error = mysqli_error($_SESSION["connect"]);
            print $error;
            exit;
        }

    while ($row = mysqli_fetch_array($result)) {
        $bfid =$row["food_id"];
        $bf=$row["f_name"];
        $bprice= $row["price"];
    }
我得到了一个错误“列计数与第1行的值计数不匹配”

 $query = "SELECT * FROM food_details WHERE food_id = '$bfid'";

使用以下代码:

$mysqli = new mysqli("127.0.0.1", "database_id", "database_password", "database_name");

/* check connection */
if ($mysqli->connect_errno) 
{
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$query = $mysqli->prepare("SELECT food_id,f_name,price FROM food_details WHERE food_id = ?");

$query->bind_param('s',$bfid);

if (!$query->execute()){
    echo $mysqli->error;
}

$query->bind_result($food_id,$f_name,$price);

$query->store_result();
$query->fetch();
注1:准备好的语句更安全

注2:如果bfid为整数,则可以将“s”替换为“i”

函数的作用是:将结果行提取为关联数组


你调试代码了吗?通过打印“$query”和“$result”?什么!为什么将连接变量存储在
会话中
?@Mohamed Haseem检查答案,并对正确且更具描述性的答案进行标记和投票。谢谢。人们对得到答案和说出最终的立场不感兴趣。我正在删除我的回答我也添加了数据库连接代码。我猜他是在会话变量中存储它的。这是不正确的。
$mysqli = new mysqli("127.0.0.1", "database_id", "database_password", "database_name");

/* check connection */
if ($mysqli->connect_errno) 
{
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$query = $mysqli->prepare("SELECT food_id,f_name,price FROM food_details WHERE food_id = ?");

$query->bind_param('s',$bfid);

if (!$query->execute()){
    echo $mysqli->error;
}

$query->bind_result($food_id,$f_name,$price);

$query->store_result();
$query->fetch();
    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
    $bfid =$row["food_id"];
    $bf=$row["f_name"];
    $bprice= $row["price"];