-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 に答える