gpt4 book ai didi

php - 转换为 sprintf() 查询

转载 作者:行者123 更新时间:2023-11-29 21:26:48 25 4
gpt4 key购买 nike

工作传统查询:

$form_id = Caldera_Forms::get_field_data( '_entry_id', $form ); 
$post_id_qry = mysql_query("SELECT `meta_value` FROM wp_cf_form_entry_meta WHERE entry_id = '$form_id' and meta_key = 'ID'");
$post_id = mysql_fetch_array($post_id_qry);
echo $post_id['meta_value'];

现在,当我转换为 sprintf() 以使其更安全时,它返回空白。我尝试过语法检查,结果很干净。有什么想法吗?

$form_id = Caldera_Forms::get_field_data( '_entry_id', $form );
global $wpdb;
$post_id_qry = sprintf("SELECT `meta_value` FROM %s WHERE entry_id = %d and meta_key = 'ID'", $wpdb->prefix . 'cf_form_entry_meta', $form_id );
$post_id = $wpdb->get_results($post_id_qry);
echo $post_id['meta_value'];

最佳答案

$wpdb->get_results() 返回查询所有结果的数组,而不仅仅是一行。默认情况下,行是对象,而不是关联数组。所以你需要这样做:

echo $post_id[0]->meta_value;

显示值。

如果您想获取单行作为关联数组,请使用:

$post_id = $wpdb->get_row(ARRAY_A);
echo $post_id['meta_value'];

请注意,WP 没有任何类似于 mysql_fetch_array 的东西。 get_row 的选项是 ARRAY_A(类似于 mysql_fetch_assoc)和 ARRAY_N(类似于 mysql_fetch_row) .

关于php - 转换为 sprintf() 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35473720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com