2014-03-19 105 views
-1

我正在開發一個php程序。我不能讓這樣的代碼工作:使用php訪問Prestashop數據庫

$ref="demo_3"; 
$ident=comprobarExisteProd($ref); 

function comprobarExisteProd ($refer) 
{ 
    $id_product=0; 
    $sqlpr = 'SELECT * FROM `'._DB_PREFIX_.'product` WHERE `reference`=(string)$refer'; 
    $res = Db::getInstance()->executeS($sqlpr); 
    var_dump($res); 
    echo "<br>"; 
    if (!$res){ 
     echo "The product does not exist in database"; 
     echo "<br>"; 
    } else{ 
     $id_product=$res[0]['id_product']; 
     $precio=$res[0]['price']; 
     echo "The product exist with identifier: : "; 
     echo $id_product; 
     echo "<br>"; 
     echo "The product price is: "; 
     echo $precio; 
     echo "<br>"; 
    } 
    return id_product; 
} 

但是,如果我改變:

$sqlpr = 'SELECT * FROM `'._DB_PREFIX_.'product` WHERE `reference`=(string)$refer'; 

這個其他:

$sqlpr = 'SELECT * FROM `'._DB_PREFIX_.'product` WHERE `reference`="demo_3"'; 

然後代碼工作正常。

如何使用功能comprobarExisteProd($refer)使用參數$refer

我已經多次更改了代碼,但它不起作用。

回答

0

您不能在語句中強制變量$ refer。聲明應該是:

$sqlpr = 'SELECT * FROM `'._DB_PREFIX_.'product` WHERE `reference`="'.(string)$refer.'"';