wpdb查询中的字符串变量不起作用

时间:2017-03-13 15:36:26

标签: jquery wordpress

我无法从此类查询中获得结果:

$email = $_POST['email'];
$result = $wpdb->get_row("SELECT * FROM hp_tempusers WHERE email = %", $email);

它总是空着的。 但是,如果我做:

$email = 'email@email.com';
一切都会奏效。 我无法找到错误,在任何帮助下我都会非常愉快。

2 个答案:

答案 0 :(得分:0)

使用占位符%s for string代替% $wpdb->prepare方法。

$email = $_POST['email']; 
$result = $wpdb->get_row(
    $wpdb->prepare("SELECT * FROM hp_tempusers WHERE email = %s", $email)
);

或者只是在字符串中使用变量。

$email = $_POST['email']; 
$result = $wpdb->get_row("SELECT * FROM hp_tempusers WHERE email = '{$email}'");

答案 1 :(得分:0)

找到解决方案。此代码有效:

$ result = $ wpdb-> get_row($ wpdb-> prepare(“SELECT * FROM hp_users WHERE user_email =%s”,$ my_email));

其他方式不适用于动态字符串变量