解析错误:语法错误,意外''''(T_CONSTANT_ENCAPSED_STRING),期待变量(T_VARIABLE)或'{'或'$'在

问题描述:

我是PHP的初学者,我无法解决此错误,感谢您的支持answers.It是一个简单的连接到数据库MySQL中的列:

Name 
Last Name 
Email 

解析错误:

syntax error, unexpected '""' (T_CONSTANT_ENCAPSED_STRING), expecting variable (T_VARIABLE) or '{' or '$' in C:\xampp\htdocs\Suscribe\registro.php on line 7

$db_host="localhost"; 
$db_user="root"; 
$db_password=""; 
$db_name="prueba"; 
$db_table_name="datos"; 
    $db_connection = mysql_connect("$localhost", "$root",""); 

if (!$db_connection) { 
    die('No se ha podido conectar a la base de datos'); 
} 
$Nombre = utf8_decode($_POST['nombre']); 
$Apellido = utf8_decode($_POST['apellido']); 
$Email = utf8_decode($_POST['email']); 
$resultado=mysql_query("SELECT * FROM ".$datos." WHERE Email = '".$Email."'", $db_connection); 

if (mysql_num_rows($resultado)>0){ 
    header('Location: Fail.html'); 
}else{ 
    $insert_value = 'INSERT INTO `' . $prueba. '`.`'.$datos.'` (`nombre` , `apellido` , `email`) VALUES 
    ("' . $Nombre . '", "' . $Apellido . '", "' . $Email . '")'; 
    mysql_select_db($prueba, $db_connection); 
    $retry_value = mysql_query($insert_value, $db_connection); 
    if (!$retry_value){ 
     die('Error: ' . mysql_error()); 
    } 
    header('Location: Success.html'); 
} 
mysql_close($db_connection); 
+1

检查[此](http://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them)进行。对于初学者来说最好的书签;) – giorgio

mysql已被弃用,你应该使用mysqlipdo

变化

$db_connection = mysql_connect("$localhost", "$root",""); 

$db_connection = mysql_connect($localhost, $root,""); 

还有一件事你没有连接DB

,你都一定MySQL后,写

mysql_select_db($db_name); 

_connect

试试这个

<?php 

$db_host="localhost"; 
$db_user="root"; 
$db_password=""; 
$db_name="prueba"; 
$db_table_name="datos"; 
    $db_connection = mysql_connect($db_host, $db_user,$db_password); 

if (!$db_connection) { 
    die('No se ha podido conectar a la base de datos'); 
} 
$Nombre = utf8_decode($_POST['nombre']); 
$Apellido = utf8_decode($_POST['apellido']); 
$Email = utf8_decode($_POST['email']); 

$resultado=mysql_query("SELECT * FROM ".$db_table_name." WHERE Email = '".$Email."'", $db_connection); 

if (mysql_num_rows($resultado)>0) 
{ 

header('Location: Fail.html'); 

} else { 

    $insert_value = 'INSERT INTO `' . $prueba. '`.`'.$datos.'` (`nombre` , `apellido` , `email`) VALUES 
    ("' . $Nombre . '", "' . $Apellido . '", "' . $Email . '")'; 

mysql_select_db($db_name, $db_connection); 
$retry_value = mysql_query($insert_value, $db_connection); 

if (!$retry_value) { 
    die('Error: ' . mysql_error()); 
} 

header('Location: Success.html'); 

} 

mysql_close($db_connection); 

我敢变化 这$db_connection = mysql_connect("$localhost", "$root","");

$db_connection = mysql_connect($db_host, $db_user,$db_password);

$resultado=mysql_query("SELECT * FROM ".$datos." WHERE Email = '".$Email."'", $db_connection);

$resultado=mysql_query("SELECT * FROM ".$db_table_name." WHERE Email = '".$Email."'", $db_connection); 和 这

`mysql_select_db($prueba, $db_connection);` 

mysql_select_db($db_name, $db_connection);

+0

总是试图指出错误,然后提供解决方案。不像写整个剧本。所以最好指导他/她对他/她所犯的错误。 –

+0

@Maha Dev soryy –

+0

@naseebac:插入查询是错误的,并有语法错误。选择查询应该是: - $ resultado = mysql_query(“SELECT * FROM $ db_table_name WHERE Email ='$ Email'”); –