$ wpdb-> get_row()没有结果

时间:2018-11-22 15:08:13

标签: php wordpress shortcode

我正在尝试从WP数据库中读取数据,在该数据库中添加了自定义表。代码如下:

add_shortcode('modifica','f_modifica');

function f_modifica()
{
    $chimod = $_POST['chimod'];
    echo $chimod; // OK IT PRINTS THE CORRECT VALUE

    global $wpdb;
    $result = $wpdb->get_row("SELECT * FROM $wpdb->mg_nomi WHERE id_nome = %d",'$chimod');
    echo $result->id_nome; // NO RESULTS
}

好吧,这是一些其他信息:

1- mg_nomi是表名

2- id_nome是主键(整数11)

3- $_POST['chimod']是我从另一个带有提交按钮和隐藏字段的表单中接收到的(整数)参数

我只需要一行,因为我必须将值放入字段中才能更新它们。

已经尝试过:

1- $wpdb->get_row("SELECT * FROM $wpdb->mg_nomi WHERE id_nome = '$chimod');

2- $wpdb->get_row("SELECT * FROM $wpdb->mg_nomi WHERE id_nome = '22');

3- $wpdb->get_row($wpdb->prepare(("SELECT * FROM $wpdb->mg_nomi WHERE id_nome = '22'));

4- $wpdb->get_row("SELECT * FROM $wpdb->mg_nomi WHERE id_nome = '$chimod',ARRAY_A");echo $result['id_nome']

5也许是上述所有其他变化...我想...

已经做了其他效果很好的查询,例如 $wpdb->get_results();$wpdb->delete();

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

感谢所有人。

通过将表名分配给变量来固定。

$tabella = "mg_nomi";并按如下方式更新查询

$result = $wpdb->get_row("SELECT * FROM $tabella WHERE id_nome = '$chimod'");

效果很好。我还要尝试$wpdb->prepare()

谢谢大家。

干杯。

Matteo。