Reputation: 69
Hi guys I'm sure I'm missing something but I can't figure out why this is not working! So I have a table and some data, and I'm trying to get the image column, but for some reason, it's not working.
This is what I'm getting (empty url):
<div class="forma_reservas_datos_imagen imgPack" style="background-image:url()"></div>
PHP
<?php
global $wpdb;
$tablePacks = 'packs';
$res = "SELECT * FROM ".$tablePacks." where nom_pack_get = '".$_GET["pack"]."'";
$packImg = $wpdb->get_results($res, ARRAY_A);
if(count($packImg) == 1){
?>
<div class="forma_reservas_datos_imagen imgPack" style="background-image:url(<?php echo $packImg->imatge_url; ?>)">
<?php
}
?>
Upvotes: 0
Views: 165
Reputation: 2972
$packImg
will be an array of associative arrays, no an object, so you should use it as $packImg[0]["imatge_url"]
.
As others have pointed out in the comments, watch out for SQL injections. Use wpdb's prepare method:
$res = $wpdb->prepare("SELECT * FROM ".$tablePacks." where nom_pack_get = %s", $_GET["pack"]);
prepare
will return SQL that is safe to send to the database (and you don't have to type '" . $myvar . "'
all the time, it really helps a lot, and makes your code secure at the same time).
Upvotes: 1