這是我的收尋程式碼 我用這段會變成只要有一個打錯 就收尋不到這不是我想要的
我想改成關鍵字搜尋 我上網找了一下我有試者跟改 但不能執行
<?php
require_once("SQL_data.php");
//$sql="select * from people order by id desc ";
$inserSQL=isset($_POST["S1"])<>NULL?" where id ='".$_POST["S1"]."'":"";
$sql="select * from part_number".$inserSQL;
mysql_select_db($database,$GD);
$Result=mysql_query($sql,$GD) or die(mysql_error());
while($r = mysql_fetch_assoc($Result))
$output[]=$r;
header('Content-type: application/json; charset=utf-8');
print(json_encode($output,JSON_UNESCAPED_UNICODE));//JSON_UNESCAPED_UNICODE為中文不轉成unicode碼
mysql_close();
exit();
?>
這是我改的 不能執行
$inserSQL=isset($_POST["S1"])<>NULL?" where id like='".$_POST["S1"]."%'":"";
可以的話用pdo吧....
https://www.runoob.com/php/php-pdo.html
再來這段用法有點奇怪
$inserSQL=isset($_POST["S1"])<>NULL?" where id like='".$_POST["S1"]."%'":"";
isset($_POST["S1"])就已經在判斷了你還在加上<>NULL根本不必要
一般來說用like 做模糊搜尋就是簡單的
$sql = "select * from table where column like '%$search_key%'";
前後都要加百分比符號
ex. $str = 'abc'
%b% 是可以找到的
但是%b 或者 b%就沒辦法
如果要做空格ex. a b 就是用程式explode之後組裝sql
再上去就用fulltext search了
http://n.sfs.tw/content/index/11465
昨天晚上有一個人有大概同樣的問題(也是在IT問答區...
就跟星空大大說得差不多,
$inserSQL=isset($_POST["S1"])<>NULL?" where id ='".$_POST["S1"]."'":"";
你這isset輸出的是true和false,但你拿來判斷是不是NULL(結果一定是""啊!~
另外可以寫成??的形式,比較精簡!(可參考:https://www.bbsmax.com/A/q4zVDE8j5K/
然後不能執行是指select不出結果?如果是這樣先去對資料庫執行
select * from part_number
成功出現資料再說吧...
我一直很想知道,是哪個網路教學教這樣的。
isset($_POST["S1"])<>NULL
這真的是夠了喔!!錯誤的方式不要去學習到啦。