php代码错误?

时间:2012-12-14 21:53:59

标签: php debugging

在以下代码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);

//....

3 个答案:

答案 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!';
    }
}

Figure the rest out