大家好我想创建一个更新mysql数据库的简单php应用程序,我正在使用mysqli prepare方法。 我在绑定参数方面遇到问题,我想要做的是bind_param()应该动态获取其值。 这段代码只是一个简单的演示代码 这是代码
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$mysqli = new mysqli("localhost","root","9889922527","demo");
if($mysqli===false)
{
die("error".mysqli_connect_error());
}
else
{
$sql = "update `table1` set `name` = ? where id = ?";
if($stmt=$mysqli->prepare($sql))
{
$stmt->bind_param("ss",bind());
$stmt->execute();
echo $stmt->affected_rows;
}
else
{
echo "error:".$mysqli->error;
}
$stmt->close();
}
$mysqli->close();
}
function bind()
{
$name = 'vivs'; //just for demo
$id = 1;
$param[0] = $name;
$param[1] = $id;
$val_type = str_repeat("s",count($param));
$value = implode(",",$param);
//$bind = implode($val_type,$value);
//return $val_type;
return implode(",",$param);
}
// $ stmt-> bind_param(“ss”,$ name,$ id);我不想使用它,因为在我的执行代码中我使用OOP功能来更新数据库,所以我需要提供动态值来绑定, 我已经尝试了所有可能的方法,但每次我收到此警告“警告:mysqli_stmt :: bind_param():类型定义字符串中的元素数与”
中的绑定变量数不匹配