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"];