解析错误:语法错误,意外T_STRING不知道原因

时间:2013-07-26 20:10:03

标签: php

我试图创建一个表单来将数据插入到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>

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

6 个答案:

答案 0 :(得分:2)

你的问题在这里:

$db = u272231605_data;

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

$db = "u272231605_data";

答案 1 :(得分:0)

你在多个地方忘记了引号:

$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';

答案 2 :(得分:0)

除了变量的缺失引号外,这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>";

答案 3 :(得分:0)

您需要将变量包装在单引号中:

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

答案 4 :(得分:0)

$password = "4Ym8iJ2A";

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

答案 5 :(得分:0)

你在这一行上缺少一个分号:

echo "Guardado correctamente"