1

我正在尝试根据从数据库查询返回的行数在表单中回显一个值。不断收到错误解析错误:语法错误,意外的 T_ECHO,期待 ',' 或 ';'

正如您可能会说的那样,我对此很陌生。谁能帮我回显变量?我知道 $num_rows 正在返回一个值,就像使用 var_dump 节目一样。谢谢

<?

if($num_rows <= 10) {

echo '</br></br><form id="h1" class="rounded" action="4.php" target="" 
method="post"/>
<input type="submit" name="submit"  class="button" value="10" /><br>
<input type="text" name="number_of_tests" value="'echo $num_rows;'"/>
</form>';
 }
if($num_rows >10) {
echo '</br></br><form id="h2" class="rounded" action="4.php"    
target="_blank" method="post"/>
<input type="submit" name="submit"  class="button" value="11"/><BR>
<input type="text" name="number_of_tests" value="'echo $num_rows;'"/>

</form>';
}?>
4

2 回答 2

2

在您的两个代码块中,您重复命令 echo 而不是连接输出或使用两个语句。你已经这样做了:

echo '</br></br><form id="h1" class="rounded" action="4.php" target="" 
method="post"/>
<input type="submit" name="submit"  class="button" value="10" /><br>
<input type="text" name="number_of_tests" value="'echo $num_rows;'"/>
</form>';

这是一个语法错误。相反,您可以这样做:

echo '</br></br><form id="h1" class="rounded" action="4.php" target="" 
method="post"/>
<input type="submit" name="submit"  class="button" value="10" /><br>
<input type="text" name="number_of_tests" value="' . $num_rows . '"/>
</form>';

或这个:

echo '</br></br><form id="h1" class="rounded" action="4.php" target="" 
method="post"/>
<input type="submit" name="submit"  class="button" value="10" /><br>
<input type="text" name="number_of_tests" value="';
echo $num_rows . '"/>';
echo '</form>';
于 2012-04-07T18:50:44.587 回答
1

这是您应该用来连接字符串并输出结果的代码

echo ' some value ' . $variable . ' other text ';

echo函数输出一个字符串,而点 (.) 运算符连接字符串。这是一种错误的代码

echo 'value="'echo $num_rows;'"/>';

当你想插入一个变量的值时,这就是方法

$a_string = 'I\'m a string';
echo "I'm a double quoted string and can contain a variable: $a_string";

这也适用于数组

$an_array = array('one', 'two', 'three');
echo "The first element of the array is {$an_array[0]}"

请参阅PHP 手册

于 2012-04-07T18:40:07.600 回答