当前位置: 首页 > 知识库问答 >
问题:

php bind_参数不工作

金飞翼
2023-03-14

我有奇怪的结果从php$stmt-

$consulta="UPDATE carrito SET status='$status' WHERE id_carrito='$var'";

准备并执行它的工作。。。但一旦我这么做:

$consulta="UPDATE carrito SET status=? WHERE id_carrito=?";
if($stmt=$mysqli->prepare($consulta))
{
    $stmt->bind_param("si",$status,$var);
  .
  .
  .

它停止工作,vars,是可以的,我打印后执行,他们有正确的值实际上,我没有得到任何错误从PHP,查询执行,它只是不保存值mysql数据库也,我想提一下这不是第一次我用准备好的陈述工作,我已经这样做了一段时间了,我还不是专家,但是在我知道bind_param有问题之前,这种情况从未发生过,但是我找不到任何信息,谢谢。

这里是完整的代码

/*_____________________ DATOS DE CONEXION _________________________*/

$mysqli = new mysqli('localhost', 'root', '', 'ambarb');

if(mysqli_connect_errno()) 
    {
        echo "Connection Failed: " . mysqli_connect_errno();
        exit();
    }
/*_____________________ fin de los datos de conexion _______________*/
 $idcarrito=$_POST["id"];
 $status="cancelado";
 $resultado=array();
  $consulta="UPDATE carrito SET status='$status' WHERE id_carrito=$idcarrito";
   if($stmt=$mysqli->prepare($consulta))
{
    //$stmt->bind_param("si",$status,$idcarrito);
    $stmt->execute();
    if($stmt->errno==true)
        {
            $resultado['status']='error';
        }
    else
        {
            $resultado['status']='ok';
        }
    $stmt->close();
}
else
{
    $resultado['status']='error al preparar la consulta PHP ERROR CODE ';
}
 echo json_encode($resultado);
//echo "el ide del carrito ".$idcarrito;
$mysqli->close();
?>
that code actually works, prints $resultado['status']=ok, but i think is not the point, because as soon as i change for this $consulta="UPDATE carrito SET status=? WHERE id_carrito=?"; with respective bind_param it stops working, i mean prints $resultado['status']=ok, but doesn't make anychange at database

共有2个答案

宗建章
2023-03-14

我编写了一个扩展mysqli的类。它自动处理所有的bind_参数,并使使用mysqli变得简单。你可以在这里下载这个类:better_mysqli.php

此页面显示它的基本用法:basic_usage.php

此页显示详细用法:detailed_usage.php

唐腾
2023-03-14

您在第一句中使用了$var变量,在第二句中使用了$idcarrito。这可能是问题所在吗?

 类似资料:
  • 我很难让海运色调按价值着色。我的数据是在一个熊猫df和我使用的barplod。

  • 在我的存储区被调度之后,我调用,它将我发送到正确的视图,但我无法访问查询参数。我的其余代码可以在https://github.com/crh225/hotreactasp/tree/master/src/hotreactasp/content找到,谢谢!

  • 我在客户端传递一个网址作为http://xyz.org/audio?s=0.8717912845313549

  • 我可以访问或,如果我启动调试器,我可以看到。 如果我尝试或我得到了404。 为什么会这样?路由规则有什么问题吗?

  • 但结果是一样的。 这是我的.hbm.xml文件中的内容: 对于用户: 我做错了什么?如果查询参数不是“简单”类型,我需要做一些特殊的事情吗?

  • 宏配置 调试算法时需要将 vsp_main.c 中的宏 CALC_PROFILE 关闭 配置 mic 数跟 ref 数:修改 vsp_main.c 中的宏MIC_NUM(默认为4) 和REF_NUM(默认为2) 配置 context 和 channel 数:修改 vsp_context.c 中的宏FRAME_NUM_PER_CONTEXT(默认为3)和CONTEXT_NUM_PER_CHANNEL