-3

在浏览器中var_dump返回以下代码的末尾。bool(false)只是想知道是否有人能发现我的错误,因为 mysql tb =“intervals”中根本不存在任何条目(目前)。干杯。

//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);

//....
4

3 回答 3

2

来自 PHP 手册:

对于 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回结果集的语句,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());
}
于 2012-12-14T21:59:23.597 回答
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!!!
于 2012-12-14T22:04:24.980 回答
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!';
    }
}

把剩下的弄清楚

于 2012-12-14T22:06:29.687 回答