2016-04-25 5 views
-1

Parse error: syntax error, unexpected T_VARIABLE in Z:\home\ser.ser\www\sign_up.php on line 19Ошибка при вставке в БД

Также у меня есть ошибка с $q = mysql_query("SELECT * FROM users WHERE (login="$login")");

Помощь, пожалуйста.

<?php 
     include 'mysql_connect.php'; 

     $login = $_POST['login']; 
     $password = $_POST['password']; 
     $b_arr['b_dd'] = $_POST['B_DD']; 
     $b_arr['b_mm'] = $_POST['B_MM']; 
     $b_arr['b_yy'] = $_POST['B_YY']; 
     $b_date = $b_arr['b_yy'].$$b_arr['b_mm'].$b_arr['b_dd']; 
     if (!isUserExist($login)) { 
      reg($login, $password, $b_date); 
     } else { 
      echo 'This user is exist !'; 
     } 
     function reg($login, $password, $b_date) { 
      // NEXT LINE ERROR 
      $query = mysql_query("INSERT INTO users VALUES ("$login", "$password", "$b_date")"); 
      // END ERROR 
     } 
     function isUserExist($login) { 
      $q = mysql_query("SELECT * FROM users WHERE (login="$login")"); 
      $result = mysql_fetch_array($q); 
      if ($result) { 
       return true; 
      } 
     } 
    ?> 
+0

У вас есть многочисленные опечатки в этом коде. '$$ b_arr'? –

+0

хорошо @MarcB, который отвечает ниже, кажется, не так думает. '$$ b_arr ['b_mm']. $ b_arr ['b_dd'];' - ответы на самом деле решения? * hm ... * –

+0

@MarcB Независимо от печали, к сожалению, это допустимое объявление переменной. PHP не будет кричать на Сергея за это. – MonkeyZeus

ответ

0

Внимание: этот код опасен. Пожалуйста, прочитайте о SQL Injection и почему ваш код крайне проблематичен. Короче говоря, все, что помещено в базу данных , должно быть дезинфицировано.

Сейчас, на ваш вопрос:

Вы не обработки строк правильно. Если вы хотите использовать этот опасный метод запроса, вам необходимо объединить ваши значения в строку. Чтобы добавить переменные в строку, вы используете оператор .. Таким образом, чтобы исправить эту строку вам нужно будет использовать что-то вроде:

$qry_str = "INSERT INTO users VALUES ('" . $login . "', '" . $password . "', '" . $b_date . "')"; 
$query = mysql_query($qry_str); 

Примечание: Я разбил его на две строки для лучшей читаемости и ваша isUserExist() функция имеет один и тот же вопрос.

0

У вас возникли ошибки в конкатенациях. Пожалуйста, смотрите здесь: https://www.diffnow.com/?report=jgv1m

<?php 
     include 'mysql_connect.php'; 

     $login = $_POST['login']; 
     $password = $_POST['password']; 
     $b_arr['b_dd'] = $_POST['B_DD']; 
     $b_arr['b_mm'] = $_POST['B_MM']; 
     $b_arr['b_yy'] = $_POST['B_YY']; 
     $b_date = $b_arr['b_yy'].$$b_arr['b_mm'].$b_arr['b_dd']; 
     if (!isUserExist($login)) { 
      reg($login, $password, $b_date); 
     } else { 
      echo 'This user is exist !'; 
     } 
     function reg($login, $password, $b_date) { 
// NEXT LINE ERROR 
      $query = mysql_query("INSERT INTO users VALUES ('".$login."', '".$password."', '".$b_date."')"); 
// END ERROR 
     } 
     function isUserExist($login) { 
      $q = mysql_query("SELECT * FROM users WHERE (login='".$login."')"); 
      $result = mysql_fetch_array($q); 
      if ($result) { 
       return true; 
      } 
     } 
    ?> 
+2

Может быть полезно указать на неизбежную ошибку в будущих строках :) – MonkeyZeus

+0

@MonkeyZeus * ahem * ... Я поддержал ваш комментарий здесь, вот о чем я говорил там;), и я знаю, что вы не даете некачественных ответов. –

+0

@ Fred-ii- Спасибо! Приветствия – MonkeyZeus

Смежные вопросы