2
我有一個後端cron腳本,它可以檢查MySQl是否符合if-then條件,然後運行Curl操作。無論如何,劇本已經一年多了運行良好,現在,當突然發生問題,並沒有任何意義,我MySQL PHP在沒有我的輸入的情況下添加3306
這裏是腳本
<?php
//assign values to variables
$servername = "localhost:3306";
$username = "username";
$password = "password";
$database = "database";
$con = mysqli_connect($servername, $username, $password, $database);
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$results = "SELECT NewUserID FROM queue ORDER BY ID";
$queryresults = $con->query($results);
if($con->error) {
printf("Errormessage: %s\n", $con->error);
die();
}
我會看到這個錯誤截斷碼:
Warning: mysqli_connect(): (HY000/2002): Failed to parse address "localhost:3306:3306" in /home/foo/bar/BackEnd.php on line 11
Failed to connect to MySQL: Failed to parse address "localhost:3306:3306"
Fatal error: Uncaught Error: Call to a member function query() on boolean in /home/foo/bar/BackEnd.php:19
Stack trace:
#0 {main}
thrown in /home/foo/bar/BackEnd.php on line 19
解決辦法很簡單,我把「localhost:3306」爲「localhost」,一切又工作,因爲它似乎是「3306」被添加到什麼是已經存在。這個解決方案看起來像是一個等待發生的問題,但我不知道首先出了什麼問題。有任何想法嗎?
任何想法爲什麼這麼長時間沒有導致錯誤?我猜計算機很有趣,但現在出現問題似乎很奇怪。還默認是3306,對嗎?如果參數是空白的。 – electricjelly
是'3306'是默認的MySQL端口。你可以忽略它並使用沒有任何端口的'localhost'。我不知道之前爲什麼會用到它,也許你最近更新了PHP版本? –
你是絕對正確的,我的網站主機最終更新到PHP 7,我想這是一個副作用。謝謝您的幫助! – electricjelly