2013-07-17 189 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

我的朋友帮我解决..这是答案 –