we might need to clarify some wording and variables first, because i'm not really sure what you are trying to achieve.
voucher - (also called "coupon") shop visitor can enter voucher/coupon code in basket to achieve a price reduction or a free product.
Vouchers are generated in Shop Settings -> coupon series
discount - general price reduction for some categories or articles, e.g. 10% for pet accessories.
Discounts can be configured in Shop Settings -> Discounts
okay, i updated my post.
your code works well, i just changed it a little bit. First the code and then the explanation:
$o_voucher = oxNew("oxVoucherSerie");
$aWhere_discount['oxdiscount'] = 25;
$sSql = $o_voucher->buildSelectString($aWhere_discount);
$o_voucher->assignRecord($sSql);
var_dump($o_voucher);
I replaced $o_voucherid with $o_voucher (without id)
$o_voucher = oxNew("oxVoucherSerie");
gives you an oxVoucherSeries Object
$o_voucher->assignRecord($sSql);
does not only tell you if voucher series with such discount exists, it also will load this voucher serie into $o_voucher , so you can access all the (not protedted) parameters of this voucher serie by using $o_voucher, e.g.:
$o_voucher->getId()
or $o_voucher->oxvoucherseries__oxid->value()
for getting its oxID or just var_dump($o_voucher);
to see all the objects properties
By the way, if you are developing with OXID 4.9 you could use this module: https://marat.ws/direct-access-to-oxid-framework-functions/ for quick evaluating and debugging you code.
just copy-paste the code from above into the textarea and hit the button