在双精度上使用$ wpdb-> insert时,我应该使用哪种格式?

时间:2015-12-31 04:03:06

标签: php wordpress insert decimal wpdb

我将在我的数据库中存储3条信息:post_id,trans_id和trans_amount(money)。 trans_id的示例看起来像9q5fcs所以我推断我应该使用%s作为字符串。如何将$wpdb对象存储trans_amount作为double?

post_id只是使用相同插入函数时返回的post id。我之前在另一个代码块中使用它。但是,当我将其格式设置为%d时,它不会插入到DB中。 DB字段设置为int(11)。

代码

global $wpdb;

        $wpdb->insert( $wpdb->prefix . 'fd_transactions', array( 'trans_amount' => $amount), '%s');
        $wpdb->insert( $wpdb->prefix . 'fd_transactions', array( 'post_id' => $_SESSION['fd_post_id']), '%d');
        $wpdb->insert( $wpdb->prefix . 'fd_transactions', array( 'trans_id' => $trans_id), '%s');

1 个答案:

答案 0 :(得分:5)

% - a literal percent character. No argument is required.
b - the argument is treated as an integer, and presented as a binary number.
c - the argument is treated as an integer, and presented as the character with that ASCII value.
d - the argument is treated as an integer, and presented as a (signed) decimal number.
e - the argument is treated as scientific notation (e.g. 1.2e+2). The precision specifier stands for the number of digits after the decimal point since PHP 5.2.1. In earlier versions, it was taken as number of significant digits (one less).
E - like %e but uses uppercase letter (e.g. 1.2E+2).
f - the argument is treated as a float, and presented as a floating-point number (locale aware).
F - the argument is treated as a float, and presented as a floating-point number (non-locale aware). Available since PHP 4.3.10 and PHP 5.0.3.
g - shorter of %e and %f.
G - shorter of %E and %f.
o - the argument is treated as an integer, and presented as an octal number.
s - the argument is treated as and presented as a string.
u - the argument is treated as an integer, and presented as an unsigned decimal number.
x - the argument is treated as an integer and presented as a hexadecimal number (with lowercase letters).
X - the argument is treated as an integer and presented as a hexadecimal number (with uppercase letters).



string  s
integer     d, u, c, o, x, X, b
double  g, G, e, E, f, F

如果您没有通过数据类型会发生什么?

it takes data type as a string 


For Double 
you can use g, G, e, E, f, F any of these according to your value