小编san*_*kcm的帖子

使用PDO准备的MySQL语句,从数据数组中将多个值插入多个列

我是PHP和MySQL(以及一般的编程)的新手,我正在尝试创建一个通用的数据库处理程序类Database_Handler,它将帮助我管理插入,删除,选择,更新等基本内容.

我正在处理一个成员函数来处理插入,目前.在我的插入函数中,我想构建一个准备好的PDO插入语句并执行它.

假设在我的应用程序的某个地方,我调用了insert函数,如下所示:

$table = "books";
$cols = array('author', 'title', 'pubdate');
$values = array('Bob Smith', 'Surviving the Zombie Apocalypse', '2010');

$db_handler->insert($table, $cols, $values);
Run Code Online (Sandbox Code Playgroud)

我如何使用来自的数据$table,$cols以及$values构建准备好的PDO插入语句?这是我的第一个努力,基于"如何将数组插入到PHP和PDO的单个MySQL Prepared语句中"的答案.

public function insert($table, $cols, $values){

        $numvalues = count($values);

        $placeholder = array();
        for($i=0; $i<$numvalues; $i++)
        $placeholder[$i] = '?';

        $sql = 'INSERT INTO '. $table . '(' . implode(",", $cols) . ') ';
        $sql.= 'VALUES (' . implode("," $placeholder) . ')"';

        $stmt = $this->dbh->prepare($sql);
        $for($i=0; …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo insert prepared-statement

2
推荐指数
1
解决办法
5239
查看次数

使用FQL仅从Facebook API检索即将到来的生日

使用FQL信息和Facebook开发人员文档中的用户表,我提出了以下代码.

    //build fql string
    $fql = "SELECT name, birthday_date FROM user 
              WHERE uid IN
                (SELECT uid2 FROM friend WHERE uid1 = me())
              AND strlen(birthday_date) != 0 AND substr(birthday_date,0,3) 
            IN ('{$currentMonth}/', '{$nextMonth}/')";
    $fql.=$orderBy;
    $fql.=" LIMIT " . $limit;

    //query facebook
    $params  =   array(
                 'method'    => 'fql.query',       
                 'query'     => $fql,
                 'callback'  => ''     
                  );
    $birthdays  =  $this->facebook_obj->api($params);
Run Code Online (Sandbox Code Playgroud)

$currentMonth$nextMonth分别设置为当前月份和下个月的字符串表示形式,格式为mm.(例如"09","10"等)

这是"工作",但是我们说今天是11月29日,我在11月有20个生日的朋友,并且$limit设置为10.在这种情况下,很有可能它返回的10个生日都将在11月之前第29位.

我真正想做的是从今天开始,即本月和下一个即将到来的生日.我怎么能修改这个查询来实现呢?

谢谢!

**编辑,请参阅Shawn和I之间的评论主题以寻找可能的替代解决方案.由于没有人直接解决原始代码/问题,因此尚未接受答案.

facebook strtotime facebook-fql facebook-php-sdk

2
推荐指数
1
解决办法
4585
查看次数

从MySQL中的一个结果集中的多个表中获取数据

在我正在开发的小型图书馆/研究数据库应用程序中,我有一个页面,用户可以在其中查看他们提交的所有资源.

我有三个表用于不同的资源 - 书籍,期刊和会议.表格如下所示:

mysql> desc book;
+---------------+------------------+------+-----+---------+----------------+
| Field         | Type             | Null | Key | Default | Extra          |
+---------------+------------------+------+-----+---------+----------------+
| id            | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| author        | varchar(255)     | YES  |     | NULL    |                |
| publishedyear | char(4)          | YES  |     | NULL    |                |
| title         | varchar(255)     | YES  |     | NULL    |                |
| edition       | int(3) unsigned  | YES  |     | NULL    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql database select

1
推荐指数
2
解决办法
3万
查看次数