摘要:最近在學(xué)習(xí)的相關(guān)知識(shí),常常需要對(duì)等語句的返回結(jié)果進(jìn)行判斷。方法查找符合條件的記錄關(guān)鍵語句若查找到返回索引數(shù)組若未查到,為。若采用語句來抓取數(shù)據(jù),若找到符合條件的記錄,返回的結(jié)果為,即。
本人php小白一枚。最近在學(xué)習(xí)php的相關(guān)知識(shí),常常需要對(duì)INSERT、SELECT等sql語句的返回結(jié)果進(jìn)行判斷。這給我造成了很多的困擾,在進(jìn)行了各種嘗試之后,將我的總結(jié)整理在此。
1.INSERT語句
$sql = "INSERT INTO tableName VALUES(NULL,...)"; $result = mysqli_query($conn,$sql); echo $result ? "1" : "-1";
使用INSERT語句向數(shù)據(jù)庫中插入數(shù)據(jù),此時(shí)$result的值為false或者true,因此可以直接作為判斷條件。
2.SELECT語句
$sql = "SELECT * FROM tableName WHERE ..."; $result = mysqli_query($conn,$sql);
SELECT查詢語句返回的結(jié)果$result是一個(gè)對(duì)象,不能直接作為判斷條件,此時(shí)需要抓取$result中的數(shù)據(jù)才能做進(jìn)一步的判斷。
舉個(gè)栗子,假設(shè)此時(shí)有這樣一個(gè)需求,“在數(shù)據(jù)庫中查找用戶輸入的用戶名和密碼是否正確”,數(shù)據(jù)庫中不同的用戶名僅對(duì)應(yīng)一條記錄。此時(shí)有兩種方式,一種是返回查找到的記錄,另一種是返回查找到的記錄個(gè)數(shù)。
方法1:SELECT * FROM tableName(查找符合條件的記錄)
關(guān)鍵語句
$sql = "SELECT * FROM t_login WHERE name="$name" AND pwd="$pwd""; $result = mysqli_query($conn,$sql); $row = mysqli_fetch_row($result);//若查找到$row返回索引數(shù)組;若未查到,$row為NULL。
此處也可用$row =mysqli_fetch_assoc($result)語句。若找到,返回一個(gè)關(guān)聯(lián)數(shù)組;若為找到,返回也是NULL。此處不宜用$row =mysqli_fetch_all($result,MYSQLI_ASSOC);該語句不論找到與否,返回的都是一個(gè)數(shù)組,不能作為判斷條件。
方法1完整代碼如下:
方法2:SELECT count(id)* FROM tableName(查找符合條件的記錄個(gè)數(shù))
$sql = "SELECT count(id) FROM t_login WHERE uname="$name" AND upwd="$pwd""; $result = mysqli_query($conn,$sql); $row = mysqli_fetch_row($result);
若找到,此時(shí)返回的結(jié)果為array(1) { [0]=> string(1) "1" } ,表示返回的是一個(gè)長(zhǎng)度為1的數(shù)組,其值為長(zhǎng)度為1的字符串,即$row[0]==1;若未找到符合條件的記錄,這個(gè)值為0。
若采用$row = mysqli_fetch_row($result);語句來抓取數(shù)據(jù),若找到符合條件的記錄,返回的結(jié)果為array(1) { ["count(uid)"]=> string(1) "1" } ,即$row["count(uid)"]=1。
方法2完整代碼如下:
By——初涉前端的小葉子。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/22478.html
摘要:坑一報(bào)的第一個(gè)錯(cuò)誤是關(guān)于的這個(gè)報(bào)錯(cuò)字面意思是這個(gè)函數(shù)的參數(shù)應(yīng)該接受一個(gè)的參數(shù),但實(shí)際運(yùn)行時(shí),傳進(jìn)去的參數(shù)是一個(gè)布爾值。在我的代碼中,是查詢后的結(jié)果,我的代碼應(yīng)該看起來沒有問題,而錯(cuò)誤提示是一個(gè)布爾值,可能是我的查詢語句出現(xiàn)了問題。 php發(fā)送Sql語句遇到的坑 標(biāo)簽: php 先在這里貼一下代碼: 作為一個(gè)php小白,寫了40行代碼,挖了不少坑,大家可以借助一下這段代碼檢驗(yàn)一下自己...
摘要:原理分析關(guān)于錯(cuò)誤回顯基于錯(cuò)誤回顯的注入就是通過語句的矛盾性來使數(shù)據(jù)被回顯到頁面上。因?yàn)?,注入可以直接返回信息而不是布爾值? 實(shí)習(xí)期間的主要工作是研究 WEB 安全,剛開始的時(shí)候,研究的主要是 SQL 注入,因?yàn)橹皼]有搞過安全,所有費(fèi)了好長(zhǎng)一段時(shí)間對(duì) SQL 注入基本知識(shí)進(jìn)行了解。這篇文章并不是什么很深入的技術(shù)博客,或許應(yīng)該叫它‘ SQL注入掃盲 ’。 showImg(https://...
摘要:以下題目和解析分別來源于我的新書程序員面試筆試寶典程序員面試筆試真題解析。類通過一個(gè)簡(jiǎn)單的外部接口與外界發(fā)生關(guān)系,對(duì)象與對(duì)象之間通過消息進(jìn)行通信。真題獲得實(shí)例化對(duì)象所屬類名字的函數(shù)是。 以下題目和解析分別來源于我的新書《PHP程序員面試筆試寶典》、《PHP程序員面試筆試真題解析》。 1、PHP??蓟A(chǔ) 1、PHP與ASP、JSP有什么區(qū)別?ASP全名Active Server Page...
閱讀 847·2023-04-25 19:43
閱讀 4120·2021-11-30 14:52
閱讀 3931·2021-11-30 14:52
閱讀 4027·2021-11-29 11:00
閱讀 3922·2021-11-29 11:00
閱讀 4039·2021-11-29 11:00
閱讀 3770·2021-11-29 11:00
閱讀 6609·2021-11-29 11:00