在php7版本的時候,mysql_connect已經不再被支持了,本文將講述在代碼層面實現php7兼容mysql系列,mysql_connect等操作。
PHP7不再兼容mysql系列函數,入mysql_connect等操作,強行操作報錯:Uncaught Error: Call to undefined function mysql_connect(),所以我們要采用mysqli系列的操作mysql方式,讓PHP7兼容mysql_connect操作有兩種方式,一種是安裝mysql擴展,另一種是在代碼層定義mysql_connect等函數,來兼容原來的操作,當然,這種操作只是自己定義了函數,內部操作還是mysqli系列的。
兼容代碼:
$dbhost = DATA_HOST; $dbport = 3306; $dbuser = DATA_USERNAME; $dbpass = DATA_PASSWORD; $dbname = DATA_NAME; if(!function_exists('mysql_connect')){ function mysql_connect($dbhost, $dbuser, $dbpass){ global $dbport; global $dbname; global $mysqli; $mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname); return $mysqli; } function mysql_select_db($dbname){ global $mysqli; return mysqli_select_db($mysqli,$dbname); } function mysql_fetch_array($result){ return mysqli_fetch_array($result); } function mysql_fetch_assoc($result){ return mysqli_fetch_assoc($result); } function mysql_fetch_row($result){ return mysqli_fetch_row($result); } function mysql_query($query){ global $mysqli; return mysqli_query($mysqli,$query); } function mysql_escape_string($data){ global $mysqli; return mysqli_real_escape_string($mysqli, $data); } function mysql_real_escape_string($data){ return mysql_real_escape_string($data); } function mysql_close(){ global $mysqli; return mysqli_close($mysqli); } }