这篇文章呐,是针对PHP7.0版本以上的对mysqli 的 prepare函数,来绑定定参数的,希望文章能够帮助大家,这个问题也是我在写脚本中遇到的。
这个问题主要是perpare函数在执行过程中,在执行bind_param函数中出现的问题。
代码如下:
$ftype = $proObj->getType();
$plan = $proObj->getPlan();
$fID = $proObj->getfId();
$sql = "UPDATE obj SET ftype=?,plan=?,built_up=? WHERE fID =? ";
$stmt = $this ->mysqli ->prepare($sql);
$stmt ->bind_param('sds',$fname,$ftype,$plan,$built_up,$ftarget,$fID);
$stmt ->execute();
因为在bind_param 函数必须传入参数,来绑定传入的值,可能是大家不熟悉bind_param 函数的用法。下面我就介绍一下bind_param 函数用法。
语法如下:
bind_param('参数的数据类型',参数变量),bind_param('sss',lastname,$name)
前面的参数有四种类型:
i - integer(整型)
d - double(双精度浮点型)
s - string(字符串)
b - BLOB(布尔值)
所以我们的一个问题就可以的解决了 ,就是要参数的数据类型的量要等于后面的变量或参数的量。
直白一点说的话就是 1 框的字符串的字母数和要等于后面的一个变量数和。这里的字符串字母只能是上面说的四种类型。