1

重複の可能性:
リファレンス - PHP でこのエラーはどういう意味ですか?

良い一日、

入力ボックス、送信ボタン、結果ボックスを持つ html フォームがあります。送信時に、入力はクエリが実行されるphpファイルに送信され、データベースから結果ボックスにフィールドをエコーバックしようとしています。フォームで「回答」と呼んでいます。

ここに私のphpファイルがあります:

<?php
$hostname = 'myhost.com';
$username = 'ratetable';
$password = 'mypassword';
$term = (int) $_GET['term'];

try {
   $dbh = new PDO("mysql:host=$hostname;dbname=ratetable", $username, $password);
   echo 'Connected to database<br />';

   foreach($db->query('SELECT * FROM rates WHERE mileage<=$term' DESC LIMIT 1) as $row) {
      echo "<input type='text' name='answer' value='$row['ratepermile']'>";
   }
}         

?>

ただし、「解析エラー: 構文エラー、予期しない T_ENCAPSED_AND_WHITESPACE、T_STRING または T_VARIABLE または T_NUM_STRING が必要です」というメッセージが表示され、データベース内の行からフィールド (ratepermile) を「回答」テキスト ボックスにエコーする必要があります。 . いくつかのチェックを行ったところ、このエラーは閉じ括弧などがないことを意味していることがわかりましたが、それが何を詰まらせているのかわかりません。

誰かが問題の原因を教えてもらえますか?

ご覧いただきありがとうございます。

4

2 に答える 2

2

引用符が一致していません

foreach($db->query('SELECT * FROM rates WHERE mileage<= ' . $term . ' DESC LIMIT 1') as $row) {

そしてここ

echo "<input type='text' name='answer' value='" . $row['ratepermile'] . "'>";

また、catch 句もありません。

于 2013-01-16T15:27:41.927 に答える
0

これを置き換えます:

foreach($db->query("SELECT * FROM rates WHERE mileage<='".$term."' DESC LIMIT 1") as $row) {
  echo "<input type='text' name='answer' value='".$row['ratepermile']."'>";
}

あなたのforeachコードで

catch (PDOException $e) {
  echo $e->getMessage();
  throw($e);
}

試行後{}

これがあなたを助けることを願っています!

于 2013-01-16T15:36:12.890 に答える