美好的一天,
我有一个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']'>";
}
}
?>
但是,我想要从数据库中的行回显一个字段(ratepermile)的回到“回答”的行上出现“解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING” ' 文本框。我做了一些检查,发现这个错误意味着我错过了一些关闭括号或类似的东西,但我没有看到它在窒息。
有人可以告诉我是什么造成了这个问题吗?
感谢您一看。
答案 0 :(得分:2)
您的报价不匹配
foreach($db->query('SELECT * FROM rates WHERE mileage<= ' . $term . ' DESC LIMIT 1') as $row) {
在这里
echo "<input type='text' name='answer' value='" . $row['ratepermile'] . "'>";
你也没有捕获条款。
答案 1 :(得分: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);
}
尝试后{ }
希望这会对你有帮助!