gpt4 book ai didi

php - bind_param 数字参数不等于变量

转载 作者:行者123 更新时间:2023-11-29 06:56:04 26 4
gpt4 key购买 nike

我在 mysql 和 php 中遇到错误我的代码:

$stmt->prepare("INSERT `tablename` (col1,col2,col3) VALUES (?,?,?)");
$stmt->bind_param('sss',$_POST['data'],$sub,$yaxis);
$stmt->execute();

我的错误:

Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement. 

但是我在bind_param中传递了3s和3个参数。为什么会出现这个错误?

最佳答案

使用参数的索引,因为您没有按名称指定它。

$data = $_POST['data'];
$stmt->prepare("INSERT `tablename` (col1,col2,col3) VALUES (?,?,?)");
$stmt->bind_param(1,$data);
$stmt->bind_param(2,$sub);
$stmt->bind_param(3,$yaxis);
$stmt->execute();

但是如果你想要它的名字那么你必须指定它的参数名称而不是使用问号

$data = $_POST['data'];
$stmt->prepare("INSERT `tablename` (col1,col2,col3) VALUES (:sss,:par1,:par2)");
$stmt->bind_param(":sss",$data);
$stmt->bind_param(":par1",$sub);
$stmt->bind_param(":par2",$yaxis);
$stmt->execute();

关于php - bind_param 数字参数不等于变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12649784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com