2011-10-10 5 views
0
<?php 
include("../package/mysql-connect.php");  //connect- succeeds 

      //cleanin' data 
$username = trim(mysql_real_escape_string($_POST['username'])); 

$password = hash('sha512', $passround); 

$fname = ucfirst(trim(mysql_real_escape_string($_POST['fname']))); 
$lname = ucfirst(trim(mysql_real_escape_string($_POST['lname']))); 
$gender = mysql_real_escape_string($_POST['gender']); 
$email = mysql_real_escape_string($_POST['email']); 
$bio = mysql_real_escape_string($_POST['bio']); 
$interests = str_replace(',',':',mysql_real_escape_string($_POST['interests'])); 

     //the query - error is here i think O. o 
mysql_query("INSERT INTO `kapip_data`.`userdata` (`id`, `username`, `password`, `fname`, `lname`, `gender`, `hidden`, `hide-gender`, `hide-name`, `bio`, `interests`, `email`) VALUES (NULL, $username, $password, $fname, $lname, $gender, '0', '0' , '0', $bio, $interests, $email)") or die(mysql_error()); 

     //close connection- succeeds 
mysql_close($con); 
?> 

Cela ne cesse de dire:Erreur de syntaxe, IDK où?

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près « (intérêts montrent ici), (e-mail montre ici)) » à la ligne 1.

La chose étrange est, tous mes données sont échappées et formatées correctement. Je n'arrive pas à trouver mon erreur, si je suis juste fatigué, c'est tout. En outre, est-ce que le "@" signe dans les emails a quelque chose à voir avec l'échec d'insertion?

Répondre

4

Veuillez toujours afficher la requête terminée.

Dans ce cas, cependant, la raison est facile à repérer: Il vous manque des guillemets autour de vos arguments.

Do

VALUES (NULL, '$username', '$password', '$fname', ....... 
+0

Passez la souris sur, il est une longue requête, haha: D –

+0

A travaillé, merci. –

+0

@Ken pas de problème. (Par "requête terminée" je veux dire le résultat final après PHP a inséré les variables - il aide toujours à voir cela aussi.) –