<?php
if(isset($_POST['Search']))
{
//Database connection
$num = $_POST['num'];
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error
connecting to mysql');
$dbname = 'vasuki';
mysql_select_db($dbname);
$Result = mysql_query("SELECT id, name, age FROM details WHERE id =
'$num'");
while($row = mysql_fetch_array($Result))
{
$name = $row['name'] ;
$age = $row['age'];
//Creating table
echo "<div style='top: 273px;
margin-left: 60px;
position: absolute;left: 30px;'>
<table border='1'><tr><th>name</th>
<th> age </th></tr>
//Connect to Database to fetch the data
<td>echo'<?php $name ?>;'</td>
<td>echo'<?php $age ?>;'</td>
</table></div>";
}
我的xampp数据库中有数据。
在使用php的前端我需要搜索数据并从数据库中查找数据。
我这里只粘贴了php代码。我希望我在代码上面做了一些错误。
我对以下代码有疑问:
<td>echo'<?php $name ?>;'</td>
这是一种错误的语法吗?。
因为我在行上方收到错误。
我在echo cmd中使用它,所以我有一个疑问。请澄清
答案 0 :(得分:2)
是的,你的怀疑是正确的,这条线是完全错误的:
echo "<div style='top: 273px;
[..snip..]
<td>echo'<?php $name ?>;'</td>
PHP不是递归可执行的。那个<?php
不是一个PHP代码标记,因为它已经在PHP字符串中已经在echo
行开始了。
即使它在这个字符串中是WASN&T;并且是正确的PHP代码,它也什么都不做。
<?php $foo; ?>
只是说&#34;这里是一个var&#34;,然后是php。 &#34;哎呀,谢谢&#34;,继续前进。你需要回应那个var:
<?php echo $foo; ?>
将该变量的值作为输出。
由于你已经在一个字符串中,所需要的只是
echo "<div etc...
<td>$name</td>
etc...
";
注意任何php代码的 LACK ,而不是变量本身。
答案 1 :(得分:1)
将echo'<?php $name ?>;'
和echo'<?php $age ?>;'
更改为{$name}
和{$age}
。
答案 2 :(得分:0)
<?php
if(isset($_POST['Search']))
{
//Database connection
$num = $_POST['num'];
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error
connecting to mysql');
$dbname = 'vasuki';
mysql_select_db($dbname);
$Result = mysql_query("SELECT id, name, age FROM details WHERE id =
'$num'");
while($row = mysql_fetch_array($Result))
{
$name = $row['name'] ;
$age = $row['age'];
//Creating table
echo "<div style='top: 273px;
margin-left: 60px;
position: absolute;left: 30px;'>
<table border='1'><tr><th>name</th>
<th> age </th></tr><tr>
<td> $name </td>
<td> $age </td></tr>
</table></div>";
}
?>
你已经启动了echo关键字,并且所有的html代码都在(&#34;)和(&#34;)内,那么你就不能在echo里写回信,而PHP会自动将$ identifier理解为变量。
同样结果的另一种方法是:
echo "<div style='top: 273px;
margin-left: 60px;
position: absolute;left: 30px;'>
<table border='1'><tr><th>name</th>
<th> age </th></tr><tr><td>".$name."</td><td>".$age."</td></tr></table></div>";
这里dot(。)用于连接。
或者您也可以这样做:
echo "<div style='top: 273px;
margin-left: 60px;
position: absolute;left: 30px;'>
<table border='1'><tr><th>name</th>
<th> age </th></tr><tr><td>";
echo $name;
echo "</td><td>";
echo $age;
echo "</td></tr></table></div>";
做你觉得容易的事。