2017-08-15 36 views
0

我想在我的sql语句中包含一个变量,但它不输出任何数据。 如何正确包含变量?在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'");

但是,除非该函数/类已经做了魔术有关,你应该考虑使用适当预处理语句的东西。

+0

该功能是WordPress的一部分。 – Barmar

+0

@junkfoodjunkie - 这正是我一直在寻找的。 – Raj

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(); 
+0

他显然使用WordPress,我不认为它使用PDO。有没有一种WP方式来执行准备好的查询? – Barmar

0

变量只有得到执行,如果他们都在里面双引号

只需简单更换你的引号是这样的:

$vStyles = $wpdb->get_results("SELECT slug from vf_venuestyles WHERE vid = '$vid'"); 

或者结合查询与变量,这样,记住还包括二次引号:

$vStyles = $wpdb->get_results('SELECT slug from vf_venuestyles WHERE vid = '" . $vid . '"'); 

希望这帮助! :)

相关问题