向MySQL
服务器发送SQL
预处理数据参数。execute
必须与prepare
配合使用,调用execute
之前必须先调用prepare
发起预处理请求。
execute
方法可以重复调用。
function Coroutine\MySQL\Statement->execute(array $params, float $timeout = -1) : bool
需要
2.0.11
或更高版本
$params
预处理数据参数,必须与prepare
语句的参数个数相同。$params
必须为数字索引的数组,参数的顺序与prepare
语句相同$timeout
超时时间,在规定的时间内MySQL
服务器未能返回数据,底层将返回false
,设置错误码为110
,并切断连接ture
,如果设置 connect
的 fetch_mode
参数为 true
时,(需要 4.0 或更高版本)array
数据集数组,如不是上述情况时,false
,可检查$db->error
和$db->errno
判断错误原因use Swoole\Coroutine as co;
co::create(function() {
$db = new co\MySQL();
$server = array(
'host' => '127.0.0.1',
'user' => 'root',
'password' => 'root',
'database' => 'test',
);
$ret1 = $db->connect($server);
$stmt = $db->prepare('SELECT * FROM userinfo WHERE id=? and name=?');
if ($stmt == false)
{
var_dump($db->errno, $db->error);
}
else
{
$ret2 = $stmt->execute(array(10, 'rango'));
var_dump($ret2);
$ret3 = $stmt->execute(array(13, 'alvin'));
var_dump($ret3);
}
});