1

重複の可能性:
PHP で配列に print_r() を適用すると、「Resource id #4」が表示されるのはなぜですか?

この単純な質問で申し訳ありませんが、私は SQL と PHP の初心者です。単純に、セルの値を取得しようとしているセルの値を、その列と行がわかっているので、その値を単純な減算問題で使用できます。ここに私が持っているものがあります:

$outtime = mysql_query("SELECT `Event1CheckOut1`
    FROM attendance
    WHERE ID = '1234'");

$intime = mysql_query("SELECT `Event1CheckIn1`
    FROM attendance
    WHERE ID = '1234'");

$dur = $outtime - $intime;

echo を使用すると、最初の結果が "Resource id #4" として返されました。いくつかの調査を行うと、これは単に値ではなく結果の表が返されるためだと思います。取得しようとしている値は 24 時間形式の時間であることに注意してください。

4

2 に答える 2

0

列/テーブル名をエスケープするには、一重引用符の代わりにバッククォートを使用します。

SELECT `Event1CheckIn1` FROM `attendance` WHERE ID='1234'

mysql_*また、新しいコードに関数を使用しないでください。それらはもはや保守されておらず、コミュニティは非推奨プロセスを開始しています。赤いボックスが見えますか? 代わりに、準備済みステートメントについて学び、 PDOまたはMySQLiのいずれかを使用する必要があります。決められない場合は、この記事を参考にしてください。学習したい場合は、ここに良い PDO チュートリアルがあります。

于 2012-10-23T02:50:46.443 に答える
0

結果セットをループする必要があります

$outtimeR = mysql_query("SELECT `Event1CheckOut1`
    FROM attendance
    WHERE ID = '1234'");
while($row = mysql_fetch_assoc($outtimeR )){
  $outtime = $row['Event1CheckOut1']; 
}

$intimeR = mysql_query("SELECT `Event1CheckIn1`
    FROM attendance
    WHERE ID = '1234'");

while($row = mysql_fetch_assoc($intimeR )){
  $intime = $row['Event1CheckIn1']; 
}

$dur = $outtime - $intime;
于 2012-10-23T03:20:11.047 に答える