需要连接php和mysql

时间:2016-08-22 14:19:42

标签: php html mysql css sql

  <?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中使用它,所以我有一个疑问。请澄清

3 个答案:

答案 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>";

做你觉得容易的事。