查询无法在wp / gravity表单数据库

时间:2016-01-11 22:05:35

标签: php mysql wordpress floating-accuracy gravity-forms-plugin

我希望这对某人来说是一个简单的问题,尽管我想弄明白并且无处可去。我所要做的就是让一些PHP代码查询wordpress数据库,从表中存储重力形式插件条目的信息。这是我的代码:

global $wpdb;
foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.1") as $key200 => $row200) {
$street_address = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.3") as $key200 => $row200) {
$city = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.4") as $key200 => $row200) {
$state = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.5") as $key200 => $row200) {
$zip_code = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=7") as $key200 => $row200) {
$credit = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id") as $key200 => $row200) {
$form_id = $row200->form_id;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=2") as $key200 => $row200) {
$financing_type = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=3") as $key200 => $row200) {
$home_worth = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=4") as $key200 => $row200) {
$to_borrow = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=6") as $key200 => $row200) {
$down_payment = $row200->value;
 }

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=5") as $key200 => $row200) {
$purchase_price = $row200->value;
}

我正在使用$ wpdb对象来访问wordpress数据库。大多数这些查询都运行正常。其中有三个不起作用(城市,州和街道地址)

我很确定这与查询select语句有关,其中" AND field_number = 1.3"。由于某种原因,它正在寻找的值是1.3导致问题。像这样的第四个查询正在运行 - 这是" zip_code"字段编号为1.5,然后在OK ...中拉出那个...

我知道这些字段编号是正确的(1.1,1.3和1.4),因为我可以在数据库中看到它们。所以我想我需要以某种方式修改我的查询(至少对于这三个项目),以便它可以正确地提取值。我尝试过很多东西,似乎没有任何帮助。

所以我希望这里有人可以就此提供一些意见,以及我做错了什么。

一切顺利,Gerard

1 个答案:

答案 0 :(得分:1)

糟糕! Gravity Forms使用FLOAT列的field_number值。

WTF? WTF?当任何FLOATDOUBLE值与另一个值完全相等时,Gravity Forms开发人员不会知道它是purely accidental吗?这怎么可能有用?

试试这个。

... AND ROUND(field_number,1) = 1.3

这会将存储的浮点数转换为可匹配的值。

碰巧1.5在浮点出现干净,但1.1没有。也不是1.3或1.4,