2013-04-22 72 views
-1

当我注册用户w。 facebook我把我从fb收到的所有东西输入到我的用户表中,但是有时候会有空白的列,比如'bio',当你不确定哪些值会被发送到我的php api的post请求时,插入的最佳方式是什么。MYSQL插入w。未知数量值

p.s im使用codeigniter为我的休息API,如果这使事情变得更容易。

+2

您可以在'insert'列表中指定字段,或者将占位符('null'值)放入'values'列表中 – Barranka 2013-04-22 21:39:04

+0

发布您的表格架构。 – Kermit 2013-04-22 21:39:59

+0

无法预先指定它们bc我永远不知道哪一个将是空白的,但我现在要做空值的方式。只需提问,看看这是否是一个可以接受的手段 – ChuckKelly 2013-04-22 22:05:32

回答

0

设置所有无关紧要的值然后传递所有可能的值。

基本上没有一个表结构这很难回答这个问题,但你会做的是建立一切空获取数据,如在此之前是什么:

$data = array(
    'fbId'=>null, 
    'email'=>null, 
    'someOtherData'=>null, 
    'yetMoreData'=>null 
); 
$data = $this->whateverYouAreDoingToGetFBData; 
$this->db->insert('users',$data); 

显然,你不希望所有字段为null,但如果您在获取Facebook数据之前设置了数组,则只覆盖由FB提供的值,那么您没有问题。

老实说,这是一个非常可怕的想法,决定哪些数据,你想要和去那里,我敢肯定你并不需要绝对的FB将提供的一切,也不会有人会注册,如果它看到你'要求一切。想想你应该弹出哪个应用程序,如果应用程序想知道你的整个FB历史,你会说是吗?