iT邦幫忙

0

mysql where + like條件問題

  • 分享至 

  • xImage

遇到問題: 我想要當$articles是空的時候會列印全部(成功),當我$articles有值時又會篩選資料(錯誤:這邊會變成直接跳錯) 請問我要怎麼改

錯誤訊息: (article like '%$articles%') 這行
Warning: sprintf(): Too few arguments in C:\xampp\htdocs\xampp\index_2.php on line 13

我的想法: (沒資料)模糊收尋全出來,(有資料)依照條件出。

程式碼:

$user=isset($_POST['S1'])<>NULL?$_POST['S1']:"";	
$articles=isset($_POST['S2'])<>NULL?$_POST['S2']:"";	
$sql=sprintf(
"SELECT part_number.id,part_number.product_name,part_number.specification,
part_number.selling_price,part_number.operations_center,
part_number.inventory,part_number.pictuture_id,part_number.picture,
CASE WHEN app_shop_favorite.user_id = '$user' 
THEN 'Y' ELSE '' 
END ANS
FROM part_number 
LEFT JOIN app_shop_favorite ON app_shop_favorite.part_no = part_number.id 
where status='F' 
AND (article  like '%$articles%')
order by part_number.pictuture_id desc "); 
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2020-06-04 14:33:28
最佳解答

那個你懂得 sprintf 是在做啥事嘛?

我是真不懂你為何要用 sprintf
看你也沒做特規化處理的動作。

而且也沒給變數來給sprintf用。

給你的建議如下

1.去給我搞懂 sprintf 是在幹嘛的。
2.不要用 sprintf 了。反正你拿掉 sprintf 就可以用了。

感謝 因為我一開始學php的時候我看那個人 都有打 之後覺得這種像c語言的打法當變數很多時候 常常要一個一個算很麻煩 就改回來了
覺得這句sprintf沒差就丟者 /images/emoticon/emoticon20.gif

ckp6250 iT邦好手 1 級 ‧ 2020-06-04 15:02:30 檢舉

1.去給我搞懂 sprintf 是在幹嘛的。

建議樓主真的好好去搞懂sprintf,這個將來會很常用。

其實已經不會在sql碼用sprintf了。
不過在其它需要格式化的字串還是很好用就是了。

我要發表回答

立即登入回答