2013-06-26 2 views
-2

Я пытаюсь сохранить это в базе данных, но он не работает. Есть лучший способ сделать это? Он собирает сеанс пользователя, но он не будет вставлять данные в базу данных.Хранить пользовательские данные Facebook в базе данных

if($user) 
{ 
    $user_interest = $facebook->api('/me/interests'); 

    for($i = 0; $i < sizeof($user_interest[data]); $i++) 
    { 
     $name = $user_interest[data][$i]['name']; 
     $category = $user_interest[data][$i]['category']; 
     $categoryId = $user_interest[data][$i]['id']; 
     $created_time = $user_interest[data][$i]['created_time']; 

     $strsql = "INSERT INTO `interests`(`fbId`,`categoryId`,`category`,`name`,`created_time`) 
        VALUES(\"$fbId\",\"$categoryId\",\"$category\",\"$name\",\"$created_time\")"; 
     mysql_query($strsql, $connect) or die(mysql_error()); 
     $chkrow1 = mysql_affected_rows($connect); 
    } 
+0

Что происходит после этого? Что такое сообщение об ошибке? –

+0

что такое ошибка? Пожалуйста, сообщите об ошибке –

+0

нет сообщения об ошибке, страница загружается просто отлично – user2320607

ответ

2
"INSERT INTO `interests`(`fbId`,`categoryId`,`category`,`name`,`created_time`) 
VALUES(\"$fbId\",\"$categoryId\",\"$category\",\"$name\",\"$created_time\")"; 

Строки в MySQL (и других SQL) одинарные кавычки.

"INSERT INTO `interests`(`fbId`,`categoryId`,`category`,`name`,`created_time`) 
VALUES('$fbId', '$categoryId', '$category', '$name', '$created_time')"; 

Кроме того, избежать всех этих значений с помощью mysql_real_escape_string перед тем интерполирования их, а затем прекратить использовать устаревшие mysql_ расширения и использовать параметризованные запросы с PDO.