我想在我的sql语句中包含一个变量,但它不输出任何数据。 如何正确包含变量?
$vStyles = $wpdb->get_results( 'SELECT slug from vf_venuestyles WHERE vid = "$vid"');
答案 0 :(得分:1)
更改引号周围:
$vStyles = $wpdb->get_results("SELECT slug from vf_venuestyles WHERE vid = '$vid'");
但是,除非该函数/类已经对此做了一些神奇的事情,否则你应该考虑使用具有适当预处理语句的东西。
答案 1 :(得分:0)
最好的方法是使用预备声明
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
// insert line
$name = 'one';
$value = 1;
$stmt->execute();
答案 2 :(得分:0)
如果变量位于 double 引号内,则只会执行变量。
只需像这样交换你的引号:
$vStyles = $wpdb->get_results("SELECT slug from vf_venuestyles WHERE vid = '$vid'");
或将查询与变量结合起来,就像这样,记住还要包含二级引号:
$vStyles = $wpdb->get_results('SELECT slug from vf_venuestyles WHERE vid = '" . $vid . '"');
希望这有帮助! :)