【发布时间】:2017-10-21 14:40:12
【问题描述】:
我有一个后端 cron 脚本,它会定期检查 MySQl 的 if-then 条件,然后运行 Curl 操作。无论如何,脚本已经运行了一年多,突然出现问题,对我来说没有意义
这是脚本的截断代码
<?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”被添加到已经存在的内容中。这个解决方案似乎是一个等待发生的问题,但我不确定首先出了什么问题。有什么想法吗?
【问题讨论】: