SELECT QUERY WITH PREPARE和STRING占位符

时间:2015-10-26 作者:Galivan

我正在尝试学习如何使用$wpdb prepare执行简单的Select查询。

我正在检查数据库中是否已经存在用户提交的电子邮件。

根据PHPstorm,由于字符串占位符未定义,因此语法肯定有问题。

$mail = $_POST[\'email\'];
$table = $wpdb->prefix . \'members\';
$sql = $wpdb->prepare( "SELECT * FROM $table WHERE email = $s", $mail);
$result = $sql->get_results($sql);
正确的语法是什么?

1 个回复
SO网友:Ajay Khandal

您需要定义$wpdb 作为全球性的。

请尝试此代码。

global $wpdb;

$mail = $_POST[\'email\'];

$table = $wpdb->prefix . \'members\';

$result = $sql->get_results( "SELECT * FROM $table WHERE email = %s", $mail);

相关推荐

他们有什么办法来扩展WPDB类并覆盖默认的查询函数吗

我试图通过扩展wpdb类并覆盖自定义查询函数来获取带有回溯的查询数据。如果我创建db的符号链接,代码运行良好。php,但如果我尝试在插件文件中执行它,则无法直接工作。代码为:<?php if ( ! defined( \'SAVEQUERIES\' ) ) { define( \'SAVEQUERIES\', true ); } class My_DB extends wpdb { function __construct( $db