syntax error, unexpected T_VARIABLE al concatenar Strings

Iniciado por NikNitro!, 29 Diciembre 2013, 13:58 PM

0 Miembros y 1 Visitante están viendo este tema.

NikNitro!

Buenas. Llevo un par de días aprendiendo php, para ello estoy usando un servidor gratuito (podeis verlo todo aqui)
http://www.practicandoconphp.hol.es/

Bueno pues hoy me he puesto a aprender a hacer formularios y que envíen los datos a una Base de datos. Los códigos son los siguientes:

Formulario: http://www.practicandoconphp.hol.es/FormJuegos.html

<html>
<body>
<FORM method=get action="gameReg.php">
Registro de un Juego
<TABLE BORDER=0>

<TR>
<TD>Nombre</TD>
<TD>
<INPUT type=text name="name">
</TD>
</TR>

<TR>
<TD>G&eacutenero</TD>
<TD>
<INPUT type=text name="gen">
</TD>
</TR>

<TR>
<TD>Precio</TD>
<TD>
<INPUT type=text name="prize">
</TD>
</TR>

<TR>
<TD>Compa&ntilde;&iacutea</TD>
<TD>
<SELECT name="company">
<OPTION VALUE="0">Warner Bros</OPTION>
<OPTION VALUE="1">EA</OPTION>
<OPTION VALUE="2">2K</OPTION>
<OPTION VALUE="3">Square Enix</OPTION>
<OPTION VALUE="-1">Otro</OPTION>
</SELECT>
</TD>
</TR>

<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Enviar">
</TD>
</TR>

</TABLE>
</FORM>
</body>
</html>



PHP

<html>
<?php 
$nombre   $_GET['name'];
$genero   $_GET['gen'];
$company $_GET['company'];
$precio   $_GET['prize'];

$link mysql_connect("host""user""passss");
mysql_select_db("u217777933_game"$link);
$sql "SELECT * FROM Juego";  // sentencia sql
$result mysql_query($sql);
$numero mysql_num_rows($result);

$string "Insert Into Juego Values (".$numero.", '"$nombre."', '"$genero."', ".$precio.", ".$company.")";

mysql_query($string$link);
mysql_close($link); // Cerramos la conexion con la base de datos
?>

</html>


Podeis probarlo vosotros, me da el error al crear el $string... Qué puede ser?

S@lu2;)

EFEX

De ojeda rapido.

Tenes esta linea te faltan 2 puntos, ves donde?
Código (php) [Seleccionar]
$string = "Insert Into Juego Values (".$numero.", '"$nombre."', '"$genero."', ".$precio.", ".$company.")";

Cuando utilizes INSERT tenes que especificar los nombres de las columas.
Código (sql) [Seleccionar]
INSERT INTO tabla_nombre (columna1, columna2) VALUES($var, $var);

Para no tener que hacer esa primera consulta de cuantos hay ya agregados... podes agregar un campo que se valla autoincrementando el valor cuando existen nuevos registros.
https://dev.mysql.com/doc/refman/5.0/es/example-auto-increment.html

Y mysql es obsoleta, se debe utilizar mysqli
http://ar2.php.net/manual/es/book.mysqli.php
GITHUB