为什么一个人不应该使用mysql_*功能的技术原因是什么?(例如mysql_query(),mysql_connect()或mysql_real_escape_string())?
即使他们在我的网站上工作,为什么还要使用其他东西?
如果他们不在我的网站上工作,为什么我会收到错误
警告:mysql_connect():没有这样的文件或目录
当我尝试从PHP连接到MySQL服务器时,我看到以下错误:
不推荐使用:不推荐使用mysql扩展,将来会将其删除:在第123行的/path/to/filename.php中使用mysqli或PDO
引用行上的代码是:
mysql_connect($server, $username, $password);
Run Code Online (Sandbox Code Playgroud)
我确信这些论点是正确的,而且这个确切的代码已经工作多年而没有问题.实际上,我是从PHP的一个很好的教程中获得的.
为什么会这样?
我该如何解决?
据我所知,这是可以通过设置来抑制弃用错误error_reporting的php.ini排除E_DEPRECATED:
error_reporting = E_ALL ^ E_DEPRECATED
Run Code Online (Sandbox Code Playgroud)
如果我这样做会怎么样?
我试图用PHP验证登录但是收到此错误:
致命错误:未捕获错误:在/opt/lampp/htdocs/social/index.php:100中调用未定义函数MYSQL_NUM_ROWS()堆栈跟踪:#opt {lampp /hococs /social/index.php中引发#0 {main}在线100
这是我的代码
if(isset($_POST['login'])){
$studentid = $_POST['studid'];
$pass = $_POST['password'];
$query2 = mysqli_query($con, "SELECT * FROM members WHERE student_id = '$studentid' AND password = '$pass' ") or die (mysqli_connect_error());
while($studid = mysqli_fetch_object($query2))
{
echo "$studid->member_id";
}
$numberOfRows = MYSQL_NUM_ROWS($query2);
if ($numberOfRows == 0)
{
}
else if ($numberOfRows > 0){
$wewness = mysql_query("SELECT * FROM members WHERE student_id = $studentid")or die(mysql_error());
$getid = mysql_fetch_array($wewness);
if($getid['account_status']==0){
$_SESSION['login'] = 'maybe';
$_SESSION['member_id'] = $getid['member_id'];
$_SESSION['studentid'] = $getid['student_id'];
header('location:registerexec.php');
}elseif($getid['account_status']==2){ …Run Code Online (Sandbox Code Playgroud) 我的网站使用最新的WordPress版本,突然我开始收到此错误。我尝试通过数据库禁用所有插件,但存在相同的错误。任何帮助
不推荐使用:mysql_connect():不推荐使用mysql扩展,以后将被删除:在第1568行的/home/website/public_html/wp-includes/wp-db.php中使用mysqli或PDO代替
警告:无法修改标头信息–已在/home/website/public_html/wp-includes/pluggable.php上发送的标头(输出始于/home/website/public_html/wp-includes/wp-db.php:1568)。 1195行