台灣最大程式設計社群網站
線上人數
947
 
會員總數:246713
討論主題:190131
歡迎您免費加入會員
討論區列表 >> MySQL >> 表單post使用INSERT新建資料之後再使用LIKE模糊搜尋不到
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
表單post使用INSERT新建資料之後再使用LIKE模糊搜尋不到
價值 : 10 QP  點閱數:1431 回應數:4
樓主

silence
門外漢
0 1
22 2
發送站內信

請問php網頁使用表單post出去,使用INSERT新建資料
之後使用LIKE模糊搜尋,卻找不到資料(資料確定有存在)
但是網頁顯示的文字皆正常,且再用表單post出去,UPDATE同一欄位的資料修改儲存之後
LIKE模糊搜尋就找得到了,請問問題點是在哪邊?
難道INSERT新建資料的時候跟UPDATE修改儲存的編碼不同嗎....
我有使用SET NAMES utf8

搜尋相關Tags的文章: [ INSERT ] , [ UPDATE ] ,
本篇文章發表於2015-09-25 14:36
1樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
insert 的指令是什麼?
select的指令是什麼?
update 的指令是什麼?
本篇文章回覆於2015-09-25 15:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

silence
檢舉此回應
$mqconpass = 'abcdefg';//資料庫密碼
$mqconuser = 'gfedcba';//資料庫帳號
$mqhead = 'record';//資料庫名稱

$con = mysql_pconnect("localhost",$mqconuser,$mqconpass);
mysql_select_db($mqhead, $con);
mysql_query("SET NAMES utf8;", $con);

$mqregister = 'register';//表格名稱

insert 的指令
$forPOST = array('registername','registeriphone','registertime','registerremark');
for ($i = 0; $i < count($forPOST); $i++) {
if ($forPOST[$i] != '') {
$mqarr[] = $forPOST[$i];
$mqarrs[] = $_POST[$forPOST[$i]];
}
}
$mqarr[] = 'registertypes';
$mqarrs[] = $_POST["registertypes"];
$mqarr[] = 'registerfield';
$mqarrs[] = $_POST["registerfield"];
$mqdata = join(",", $mqarr);
$mqdatas = "'" . join("','", $mqarrs) . "'";
$sql = "LOCK TABLES $mqregister WRITE";
mysql_query($sql, $con);
$sql = "INSERT INTO $mqregister ($mqdata) VALUES ($mqdatas)";
mysql_query($sql, $con);
$sql = "UNLOCK TABLES";
mysql_query($sql, $con);

select的指令
$nowtime = date("Y-m-d H:i:s");
$iphone = $_POST["iphone"];
$sql = mysql_query("SELECT count(registerID) FROM $mqregister WHERE registertime >= '$nowtime' AND CONCAT(registertime,registertypes,registerfield,registername,registeriphone,registermail,registerremark) LIKE '%$iphone%' limit 1");
while ($row = @mysql_fetch_array($sql,MYSQL_NUM)) {
if($row[0] > 0) {
echo '找到資料';
}
}


update 的指令
$forPOST = array('registername','registeriphone','registertime','registermail','registerremark');
$registerID = $_GET["registerID"];
for ($i = 0; $i < count($forPOST); $i++) {
if ($forPOST[$i] != '') {
$mqarr_name = $forPOST[$i];
$mqarr_data = $_POST[$forPOST[$i]];
$mqarr[$i] = "$mqarr_name='$mqarr_data'";
}
}
$mqarr_name = 'registertypes';
$mqarr_data = $_POST["registertypes"];
$mqarr[] = "$mqarr_name='$mqarr_data'";
$mqarr_name = 'registerfield';
$mqarr_data = $_POST["registerfield"];
$mqarr[] = "$mqarr_name='$mqarr_data'";
$registerID = $_GET["registerID"];
$mqdata = join(",", $mqarr);
$sql = "LOCK TABLES $mqregister WRITE";
mysql_query($sql, $con);
$sql = "UPDATE $mqregister SET $mqdata WHERE registerID = $registerID";
mysql_query($sql, $con);
$sql = "UNLOCK TABLES";
mysql_query($sql, $con);

欄位總共有7個(registerID,registertypes,registerfield,registername,registermail,registeriphone,registertime,registerremark,num)
registerID使用PRIMARY KEY
本篇文章回覆於2015-09-25 16:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
這是要判斷到期時間還是註冊時間 ? 如果是註冊時間>=現在,
你08:40:19 註冊 8:40:20要查詢 就........


你能把 insert跟 update 和 select的語法直接echo出來嗎?
本篇文章回覆於2015-09-30 08:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

silence
檢舉此回應
我找到問題在哪了...
原來是LIKE遇到欄位是null的值就有問題
抱歉~我是資料庫初學者
本篇文章回覆於2015-09-30 16:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.