php mysql数据从表中重新出现

<?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = "";
    $name=$_POST['user'];
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);
    if(! $conn )
    {
    die('Could not connect: ' . mysql_error());
    }
    $sql = 'SELECT * FROM `usertable` WHERE `username`='$name'' ;

    mysql_select_db('myxiv');
    $retval = mysql_query( $sql, $conn );
    if(! $retval )
    {
    die('Could not get data: ' . mysql_error());
    }
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
    {
    echo "Name :{$row['username']}  .<br> ";

    }

    mysql_close($conn);
?>

Here is my code and i'm getting this error.

Syntax error, unexpected '$name' (T_VARIABLE)

I m trying to retrive data from a table to display in the profile page

Try this


Change

$sql = 'SELECT * FROM usertable WHERE username`='$name'' ;

TO

$sql = "SELECT * FROM usertable WHERE username='".$name."';

$sql = 'SELECT * FROM usertable WHERE username='$name'' ;

Replace Your above query by bellow code and check it.

$sql = "SELECT * FROM usertable WHERE username=' ".$name." ' ";

You make a few mistakes. mysql (which is depracted (take a look at PDO or mysqli)) doesn't need a connection. You could have a double single quote error but the following should fix some of it:

if($_POST) {
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    $name = mysql_real_escape_string(strip_tags($_POST['user']));
    $conn = mysql_connect($dbhost, $dbuser, $dbpass);

    if(! $conn ) {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db('myxiv');
    $retval = mysql_query("SELECT * FROM `usertable` WHERE `username` = '$name'");

    if(! $retval ) {
        die('Could not get data: ' . mysql_error());
    } else {
        while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
            echo "Name :{$row['username']}  .<br> ";

        }
    }
}