这是插入代码,它正在使用PHP 5.3而不是5.4及以上版本。
$statement = mysqli_prepare($con, "INSERT INTO user (`username`, `password`, `primary_number`, `alternate_number`, `email`) VALUES (?, ?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, "sssss", $username, $password, $primaryno, $alternateno, $email);
mysqli_stmt_execute($statement);
它正确地在一些旧的PHP版本中工作,当我更改服务器时,默认情况下选择了PHP 7.1。我很沮丧,因为我无法找到问题。但现在我发现它我不知道它为什么会发生
代码在PHP 5.2,5.3中完美地工作,但不高于它。我需要做哪些修改才能在其他版本中使用?
您使用的函数似乎与“从PHP 5.3.0开始已经弃用并从PHP 5.4.0开始被删除”的函数相关联:http://php.net/manual/en/function.mysqli-bind-param.php
它被删除的PHP版本往往坚持你的问题发生的PHP版本所以我首先洞察,但我已经尝试了你的代码,它似乎适合我。尝试使用mysqli_report(MYSQLI_REPORT_ALL);
并检查phpinfo();
的差异,并尝试其他一些MySQL版本。
我尝试了你的代码,似乎可以正常工作:
-PHP 5.5.12 -MySQL 5.6.17 -Apache 2.4.9
希望这可以帮助。