2016-07-31 30 views
0

我正在写一个小的wordpress插件。我试图使用get_results从sql查询中得到结果。在查询中我有一个变量。当这个变量具有数值时,查询给出结果。当我有包含字符的字符串时,查询不会给我结果。我有直接测试查询到phpMyAdmin和它给结果任我尝试用数字或者我与字符 想这就是我想:Wordpress get_results从MySQL哪里字符串不给结果

<?php $myprnum = $_POST['myprnum']; $mytestproducts = $wpdb->get_results("SELECT wp_Parts.id, wp_Parts.ProductName,wp_Parts.ProductPrice,wp_Parts.ProductDescription,wp_Parts.partnumber,wp_Categories.CategoryName FROM wp_Parts INNER JOIN wp_Categories ON wp_Parts.CategoryID=wp_Categories.id WHERE wp_Parts.partnumber LIKE $myprnum");?> 

当myprnum是“1234”查询给出的结果。当myprnum是“ABCD”时没有给出结果。但是当我尝试到phpMyAdmin查询

SELECT wp_Parts.id, wp_Parts.ProductName,wp_Parts.ProductPrice,wp_Parts.ProductDescription,wp_Parts.partnumber,wp_Categories.CategoryName FROM wp_Parts INNER JOIN wp_Categories ON wp_Parts.CategoryID=wp_Categories.id WHERE wp_Parts.partnumber LIKE 'ABCD' 

是给通常会导致

+0

尝试在变量$ myprnum的查询语句中添加单引号。 $ mytestproducts = $ wpdb-> get_results(“SELECT wp_Parts.id,wp_Parts.ProductName,wp_Parts.ProductPrice,wp_Parts.ProductDescription,wp_Parts.partnumber,wp_Categories.CategoryName FROM wp_Parts INNER JOIN wp_Categories ON wp_Parts.CategoryID = wp_Categories.id WHERE wp_Parts.partnumber LIKE'$ myprnum'“); – adi

回答

0

给一个单引号周围的变量,即“$ myprnum”。因此,您的查询将如下所示:

<?php $myprnum = $_POST['myprnum']; $mytestproducts = $wpdb->get_results("SELECT wp_Parts.id, wp_Parts.ProductName,wp_Parts.ProductPrice,wp_Parts.ProductDescription,wp_Parts.partnumber,wp_Categories.CategoryName FROM wp_Parts INNER JOIN wp_Categories ON wp_Parts.CategoryID=wp_Categories.id WHERE wp_Parts.partnumber LIKE '".$myprnum."' ");?> 
+0

谢谢你,这是问题 – user2340890

+0

很高兴,它帮助你! :) –

+0

如果你解释一下为什么没有单独的qutoe,他们不工作@ DebakantMohanty – Coder

0

用单引号括起来会适合您。
$wpdb->get_results("SELECT wp_Parts.id, wp_Parts.ProductName,wp_Parts.ProductPrice,wp_Parts.ProductDescription,wp_Parts.partnumber,wp_Categories.CategoryName FROM wp_Parts INNER JOIN wp_Categories ON wp_Parts.CategoryID=wp_Categories.id WHERE wp_Parts.partnumber LIKE '".$myprnum."');?>