分析错误:语法错误,意外的T_STRING don';我不知道为什么


Parse error: syntax error, unexpected T_STRING don't know why

我试图制作一个将数据插入mysql数据库的表单,但一直收到相同的错误:

分析错误:语法错误,第20行/home/u272231605/public_html/add_reg.php3中出现意外的T_STRING

以下是显示错误的代码:

<html>
<body>
<?php
if (isset($_POST['Nombre Monstruo']) && !empty($_POST['Nombre Monstruo'])&&
    isset($_POST['Ataque']) && !empty($_POST['Ataque'])&&
    isset($_POST['Defensa']) && !empty($_POST['Defensa'])&&
    isset($_POST['Tipo']) && !empty($_POST['Tipo'])&&
    isset($_POST['Nivel']) && !empty($_POST['Nivel'])&&
    isset($_POST['Efecto']) && !empty($_POST['Efecto'])){
    $nombremonstruo = $_POST['Nombre Monstruo'];
    $ataque = $_POST['Ataque'];
    $defensa = $_POST['Defensa'];
    $tipo = $_POST['Tipo'];
    $nivel = $_POST['Nivel'];
    $efecto = $_POST['Efecto'];
    $db = u272231605_data;
    $host = mysql.hostinger.es;
    $user = u272231605_data;
    $password = 4Ym8ix2A;
    $con = mysql_connect($host,$user,$password)or die('No se ha podido conectar con      la base de datos');
    mysql_select_db($db,$con) or die('No se pudo conectar con la base de datos');
    mysql_query("INSERT INTO (Nombre del monstruo,Ataque,Defensa,Tipo,Nivel,Efecto" values('$nombremonstruo','$ataque','$defensa','$tipo','$nivel','$efecto')");
    echo "Guardado correctamente"
    echo "<a href=index.php"> Registrar otro monstruo </a>;
}
    else
    {
        echo "Han de introducirse todos los datos para que el registro de la   carta se complete.";
    } 
?>
</body>
</html>

提前感谢您提供的帮助:)

您的问题在这里:

$db = u272231605_data;

以及其他地方。你应该在它们周围加上双引号:

$db = "u272231605_data";

您在多个位置忘记了引号:

$db = u272231605_data;
$host = mysql.hostinger.es;
$user = u272231605_data;
$password = 4Ym8iJ2A;

这些值中的每一个都应该被引用。目前,PHP将它们视为未定义的常量。但最后一个(4Ym8iJ2A)是错误的原因,因为常量不能以数字开头。

它们可能应该是:

$db = 'u272231605_data';
$host = 'mysql.hostinger.es';
$user = 'u272231605_data';
$password = '4Ym8iJ2A';

除了缺少变量的引号外,这4行代码还存在多个问题。请使用智能编辑器突出显示语法等。以下行已更新:

mysql_select_db($db,$con) or die('No se pudo conectar con la base de datos');
mysql_query("INSERT INTO (Nombre del monstruo,Ataque,Defensa,Tipo,Nivel,Efecto) values('$nombremonstruo','$ataque','$defensa','$tipo','$nivel','$efecto')");
echo "Guardado correctamente";
echo "<a href='index.php'> Registrar otro monstruo </a>";

您需要用单引号包装变量:

$db = 'u272231605_data';
$host = 'mysql.hostinger.es';
$user = 'u272231605_data';
$password = "4Ym8iJ2A";

该值需要单引号或双引号。

这一行缺少一个分号:

echo "Guardado correctamente"