我的PHP代码是:
require_once("config.inc.php");
$conn = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
mysqli_set_charset($conn, 'utf8');
$username = "Michael";
$result = $conn->query("
SELECT *
FROM gebruikers, afdelingen
WHERE gebruikers.afdeling_id = afdelingen.afdeling_id
AND gebruikersnaam = '".$username."'
");
$value = mysqli_fetch_object($result);
$allow_times1 = $value->allow_time;
echo $allow_times1; // output: 09:00,14:00,17:20,21:00
$allow_times2 = "09:00,14:00,17:20,21:00";
echo $allow_times2; // output: 09:00,14:00,17:20,21:00
$myArray = explode(',', $allow_times1);
foreach($myArray as $my_Array) {
$timeFrom = "$my_Array:00";
$date = DateTime::createFromFormat('H:i:s', $timeFrom)->modify("+5 minutes");
}
我收到以下错误:
致命错误:在非对象中调用成员函数modify() 第30行/srv/websites/kabouter/htdocs/test/test.php
如果我改变了,我就不会得到错误:
$myArray = explode(',', $allow_times1);
为:
$myArray = explode(',', $allow_times2);
为什么我用$ allow_times1得到错误,而$ allow_times1和$ allow_times2有相同的echo-output?欢迎所有帮助!提前谢谢。
答案 0 :(得分:0)
我认为$allow_times1
是一个对象,而不是一个字符串,当你调用echo $allow_times1
时,它会转而调用$ allow_times1对象的__toString()
方法
答案 1 :(得分:0)
我终于找到了解决问题的方法。
PHP代码解决方案:
$allow_times1 = substr($allow_times1, 0, -1);
使用上面的代码,它将解决问题.... 奇怪的是,$ allow_times1添加了一个"空间" ...