2013-08-12 2 views
0

Я пытаюсь добавить $ _SESSION ['user_id'] в базу данных и, когда я повторяю ее в этой функции, отлично работает. Однако, когда я пытаюсь вставить его в мою базу данных MySQL, он добавляет значение 0. На самом деле путают, почему. Спасибо за любую помощь!Добавление информации из переменных в базу данных PHP

function fill_team() { 
    $i = 1; 
    while ($i < 24) { 
     $first_name = first_name(); 
     $last_name = second_name(); 
     echo "<br>"; 
     $add_names = mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`) VALUES ('$first_name', '$last_name', '.$_SESSION['user_id']'.)"); 
     $i++; 
    } 
} 
+1

Вы должны 'return' в вашем' first_name() 'и' second_name() 'функции, а не эхо - просто repla ce 'echo' с' return', и он должен работать. – andrewsi

+0

Ах, я пробовал это, но я должен был сделать это с разными котировками. Спасибо огромное! –

+0

Рад помочь! – andrewsi

ответ

0

Заменить echo $row2['first_name']; с return $row2['first_name'];. Если вы хотите получить какое-либо значение от функции, вы должны использовать оператор return для передачи значения обратно. Это не имеет никакого отношения к печати значения с помощью print или echo.

0

Там какая-то грязный смешанный со ссылкой внутри SQL заявление:

mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`) 
VALUES ('$first_name', '$last_name', '.$_SESSION['user_id']'.)"); 

Off верхней части моей головы, я понятия не имею, что SQL это будет производить, но это должно быть написано как:

mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`) 
VALUES ('$first_name', '$last_name', '$_SESSION[user_id]')"); 

или

mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`) 
VALUES ('$first_name', '$last_name', '".$_SESSION['user_id']."')"); 
Смежные вопросы