2013-07-17 187 views
0
$query = " 
     SELECT 
      id, 
      overskrift, 
      tekst, 
      detaljer, 
      varenummer, 
      lager, 
      vegt, 
      pris, 
      billede, 
      fallow_id 
     FROM davidsen_vare 
     WHERE 
      overskrift LIKE ? OR varenummer LIKE ?) 
     LIMIT 30"; 

    $Statement = $this->mysqli->prepare($query); 
    $Statement->bind_param("ss","%$sogning%","%$sogning%"); //error here 
    $Statement->execute(); 
    $Statement->bind_result($id,$overskrift,$tekst,$detaljer,$varenummer,$lager,$vegt,$pris,$billede,$fallow_id); 

引用傳遞參數2有一個人可以幫

+0

是參數整數或字符串? –

+1

看起來像http://stackoverflow.com/questions/13105373/php-error-cannot-pass-parameter-2-by-reference –

+0

它的字符串的副本,但它不會工作,即使我只與1做?並且只有1個「s」,%$ sogning% –

回答

2
$query = " 
SELECT 

    id, 
    overskrift, 
    tekst, 
    detaljer, 
    varenummer, 
    lager, 
    vegt, 
    pris, 
    billede, 
    fallow_id 
FROM davidsen_vare 

WHERE 
(overskrift LIKE %?% 
    OR varenummer LIKE %?%) 
    LIMIT 30"; 

    $Statement = $this->mysqli->prepare($query); 
    $Statement->bind_param("ss",$sogning,$sogning); 

OR

$query = " 
SELECT 

    id, 
    overskrift, 
    tekst, 
    detaljer, 
    varenummer, 
    lager, 
    vegt, 
    pris, 
    billede, 
    fallow_id 
FROM davidsen_vare 

WHERE 
(overskrift LIKE ? 
    OR varenummer LIKE ?) 
    LIMIT 30"; 

    $Statement = $this->mysqli->prepare($query); 
    $Statement->bind_param("ss",'%'.$sogning.'%','%'.$sogning.'%'); 
+0

當我這樣做時,我得到這個 致命錯誤:調用一個非對象的成員函數bind_param() –

+0

$ Statement-> bind_param(「ss」,'%'。$ sogning '%', '%' $ sogning '%')。; 給出與 相同的結果$ Statement-> bind_param(「ss」,$ sogning,$ sogning); 給了我 –

+0

我的朋友幫我解決..這是答案 –