在以下代码var_dump
的末尾,在浏览器中返回bool(false)
。只是想知道是否有人可以发现我的错误,因为在mysql tb =“interval”中根本没有条目存在(目前)。欢呼声。
//Connection code etc
$findinterval = mysql_query("SELECT * FROM intervals ORDER BY id ASC LIMIT 1");
if($findinterval == false){
$start_interval = "x";
} else {
$result = mysql_fetch_array($findinterval);
$start_interval = $result['start_interval'];
$start_interval->modify('+1 hour');
}
if($date>=$start_interval OR $start_interval == 'x'){
$insertinterval = mysql_query("INSERT INTO intervals VALUES ('','$date')")
var_dump($insertinterval);
//....
答案 0 :(得分:2)
从PHP手册:
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回 resultset,mysql_query()在成功时返回资源,或者返回FALSE 错误。对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP, 等等,mysql_query()成功时返回TRUE,错误时返回FALSE。
使用mysql_error()获取最后一个错误。
$result = mysql_query('select .....');
if (!$result) {
die('Invalid query: ' . mysql_error());
}
答案 1 :(得分:0)
试试这个
改变这个:
$start_interval = $result['start_interval'];
为:
$start_interval = new DateTime($result['start_interval']);
$start_interval->modify('+1 hour');
$start_interval = $start_interval->format('Y-m-d'); // Do not forget to change this!!!
答案 2 :(得分:0)
我不知道为什么我这样做但是这是一个开始:
$findinterval = mysql_query("SELECT * FROM intervals ORDER BY id ASC LIMIT 1");
if(!$findinterval)
{
echo 'OMG, query failed';
}
while ($result = mysql_fetch_array($findinterval)) {
$start_interval = new DateTime($result['start_interval']);
$start_interval->modify('+1 hour');
$start_interval = $start_interval->format('Y-m-d');
}
if($date>=$start_interval OR $start_interval == 'x')
{
$insertinterval = mysql_query("INSERT INTO intervals VALUES ('','$date')");
if(!$insertinterval) {
echo 'OMG, failed again!';
}
}