通过wpdb将变量作为参数从php脚本传递到存储过程

时间:2012-02-06 作者:JSS

我在从php脚本将php变量传递给stroed过程调用时遇到了一个小问题。详情如下:

这就是它如何工作得非常完美-将参数传递为string:

$myHTML = $wpdb->query( \'CALL show_average_time_spent(2, "2011-10-24", "2011-10-24", @myHTML)\' );
带来完美的结果。

这就是它的工作原理并抛出错误(将参数作为变量传递):

$date_from = \'2011-10-24\';
$date_to = \'2011-10-27\';
$myHTML = $wpdb->query( \'CALL show_average_time_spent(2, $date_from, $date_to, @myHTML)\' );
引发此错误:

WordPress数据库错误:[“字段列表”中的未知列“$date\\u from”]调用show\\u average\\u time\\u(2,$date\\u from,$date\\u to,@myHTML)

这个$date_from 仅在此php脚本中用于保存所选日期。

我真的很感激在这个问题上能得到任何帮助。

感谢你们所有试图帮助解决这个问题的人。

干杯,乔

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

请看一下法典,了解如何prepare 您的声明:

// Example straight copy-paste from Codex
$metakey    = "Harriet\'s Adages";
$metavalue  = "WordPress\' database interface is like Sunday Morning: Easy.";

$wpdb->query( $wpdb->prepare( 
    "
        INSERT INTO $wpdb->postmeta
        ( post_id, meta_key, meta_value )
        VALUES ( %d, %s, %s )
    ", 
    10, 
    $metakey, 
    $metavalue 
) );
用你的代码也可以试试这个(这是关于安全性的)。

结束

相关推荐

$wpdb->get_var next var?

这为每个帖子提供了相同的视图值,我如何为每个帖子获取下一个var?<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <a href=\"<?php the_permalink(); ?>\"><?php the_title(); ?> <?php // set the meta_key to the appr