我收到以下警告
警告: mysqli::options()期望参数1是长的,字符串在.
使用此代码时:
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 300);我正在尝试运行一个需要超过1分钟才能执行的查询。所以我想增加连接超时。连接如下:
$mysqli = mysqli_init( );
$mysqli->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 300);
$mysqli->options(MYSQLI_OPT_READ_TIMEOUT, 300);
if (!$mysqli->real_connect($GLOBALS['ipServer'], $GLOBALS['mysqlLogin'], $GLOBALS['mysqlPwd'], $GLOBALS['db'])) {
die("Error connecting to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error);
exit();
}似乎mysqli选项不起作用。有什么想法吗?
发布于 2020-10-19 15:35:14
您应该启用所有PHP错误,因为您可能会碰到一个通知,例如:
注意:使用未定义的常量MYSQLI_OPT_CONNECT_TIMEOUT -假定为"MYSQLI_OPT_CONNECT_TIMEOUT“
这意味着该常量是未定义的(可能您的MySQLi扩展不支持它),并且PHP将其视为包含MYSQLI_OPT_CONNECT_TIMEOUT的字符串。所以你看到的警告是正常的。
尝试使用get_defined_constants()转储所有常量,以查看定义了哪些常量。您还可以尝试使用PHP手册中提供的整数值(这并不是一个很好的建议,但同时还有正确的注释,这是有意义的)。
但归根结底,这取决于您的MySQLi扩展是否支持它。
https://stackoverflow.com/questions/57570060
复制相似问题