update用mysql_query執(zhí)行的時(shí)候能得到返回值,這個(gè)返回值說(shuō)明了執(zhí)行是否成功。
創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國(guó)電信/網(wǎng)通/移動(dòng)機(jī)房,成都服務(wù)器托管服務(wù)有保障!
然后用mysql_affected_rows判斷是否修改了數(shù)據(jù)
兩個(gè)判斷組合起來(lái)用就能滿足你的需求了
CI框架下的PHP增刪改查總結(jié):
controllers下的 cquery.php文件
[php] view plain copy
?php
class CQuery extends Controller {
//構(gòu)造函數(shù)
function CQuery() {
parent::Controller();
// $this-load-database();
}
function index() {
//調(diào)用model 其中train為外層文件夾 MQuery為model名稱 queryList為重命名
$this-load-model('train/MQuery','queryList');
//獲得返回的結(jié)果集 這里確定調(diào)用model中的哪個(gè)方法
$result = $this-queryList-queryList();
//將結(jié)果集賦給res
$this-smarty-assign('res',$result);
//跳轉(zhuǎn)到顯示頁(yè)面
$this-smarty-view('train/vquery.tpl');
}
//進(jìn)入新增頁(yè)面
function addPage() {
$this-smarty-view('train/addPage.tpl');
}
//新增
function add() {
//獲得前臺(tái)數(shù)據(jù)
//用戶名
$memberName = $this-input-post('memberName');
//密碼
$password = $this-input-post('password');
//真實(shí)姓名
$userRealName = $this-input-post('userRealName');
//性別
$sex = $this-input-post('sex');
//出生日期
$bornDay = $this-input-post('bornDay');
//e_mail
$eMail = $this-input-post('eMail');
//密碼問(wèn)題
$question = $this-input-post('question');
//密碼答案
$answer = $this-input-post('answer');
//調(diào)用model
$this-load-model('train/MQuery','addRecord');
//向model中的addRecord傳值
$result = $this-addRecord-addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer);
//判斷返回的結(jié)果,如果返回true,則調(diào)用本頁(yè)的index方法,不要寫(xiě) $result == false 因?yàn)榉祷氐闹滴幢厥莊alse 也有可能是""
if ($result) {
$this-index();
} else {
echo "add failed.";
}
}
//刪除
function deletePage() {
//獲得ID
$deleteID = $this-uri-segment(4);
//調(diào)用model
$this-load-model('train/MQuery','delRecord');
//將值傳入到model的delRecord方法中
$result = $this-delRecord-delRecord($deleteID);
//判斷返回值
if ($result) {
$this-index();
} else {
echo "delect failed.";
}
}
//修改先查詢
function changePage() {
$changeID = $this-uri-segment(4);
$this-load-model('train/MQuery','changeRecord');
$result = $this-changeRecord-changeRecord($changeID);
//將結(jié)果集賦給res
$this-smarty-assign('res',$result);
//跳轉(zhuǎn)到顯示頁(yè)面
$this-smarty-view('train/changePage.tpl');
}
//修改
function change() {
//獲得前臺(tái)數(shù)據(jù)
//ID
$ID = $this-input-post('id');
//用戶名
$memberName = $this-input-post('memberName');
//密碼
$password = $this-input-post('password');
//真實(shí)姓名
$userRealName = $this-input-post('userRealName');
//性別
$sex = $this-input-post('sex');
//出生日期
$bornDay = $this-input-post('bornDay');
//e_mail
$eMail = $this-input-post('eMail');
//密碼問(wèn)題
$question = $this-input-post('question');
//密碼答案
$answer = $this-input-post('answer');
//調(diào)用model
$this-load-model('train/MQuery','change');
//向model中的change傳值
$result = $this-change-change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer);
//判斷返回的結(jié)果,如果返回true,則調(diào)用本頁(yè)的index方法,不要寫(xiě) $result == false 因?yàn)榉祷氐闹滴幢厥莊alse 也有可能是""
if ($result) {
$this-index();
} else {
echo "change failed.";
}
}
}
models中的 mquery.php 文件
[php] view plain copy
?php
class MQuery extends Model {
//構(gòu)造函數(shù)
function MQuery() {
parent::Model();
//連接數(shù)據(jù)庫(kù)
$this-load-database();
}
//查詢列表
function queryList() {
//防止select出的數(shù)據(jù)存在亂碼問(wèn)題
//mysql_query("SET NAMES GBK");
//SQL語(yǔ)句
$sql = "SELECT ID,member_name,sex,e_mail FROM user_info_t";
//執(zhí)行SQL
$rs = $this-db-query($sql);
//將查詢結(jié)果放入到結(jié)果集中
$result = $rs-result();
//關(guān)閉數(shù)據(jù)庫(kù)
$this-db-close();
//將結(jié)果集返回
return $result;
}
//新增
function addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {
//防止select出的數(shù)據(jù)存在亂碼問(wèn)題
//mysql_query("SET NAMES GBK");
//SQL語(yǔ)句
$sql = "INSERT INTO user_info_t (member_name,password,user_real_name,sex,born_day,e_mail,question,answer) " .
"VALUES ('$memberName','$password','$userRealName','$sex','$bornDay','$eMail','$question','$answer')";
//執(zhí)行SQL
$result = $this-db-query($sql);
//關(guān)閉數(shù)據(jù)庫(kù)
$this-db-close();
//返回值
return $result;
}
//刪除
function delRecord($deleteID) {
//防止select出的數(shù)據(jù)存在亂碼問(wèn)題
//mysql_query("SET NAMES GBK");
$sql = "DELETE FROM user_info_t WHERE ID = $deleteID";
$result = $this-db-query($sql);
$this-db-close();
return $result;
}
//修改前查詢
function changeRecord($changeID) {
//防止select出的數(shù)據(jù)存在亂碼問(wèn)題
//mysql_query("SET NAMES GBK");
$sql = "SELECT ID,member_name,password,user_real_name,sex,born_day,e_mail,question,answer FROM user_info_t WHERE ID = $changeID";
//執(zhí)行SQL
$rs = $this-db-query($sql);
$result = $rs-row();//$result = $rs[0]
//關(guān)閉數(shù)據(jù)庫(kù)
$this-db-close();
//將結(jié)果集返回
return $result;
}
//修改
function change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {
//防止select出的數(shù)據(jù)存在亂碼問(wèn)題
//mysql_query("SET NAMES GBK");
//SQL語(yǔ)句
$sql = "update user_info_t set member_name = '$memberName',password = '$password', user_real_name = '$userRealName'," .
"sex = '$sex',born_day = '$bornDay',e_mail = '$eMail',question = '$question',answer = '$answer'" .
"where ID = $ID";
//執(zhí)行SQL
$result = $this-db-query($sql);
//關(guān)閉數(shù)據(jù)庫(kù)
$this-db-close();
//返回值
return $result;
}
}
views 下的 addPage.tpl文件
[php] view plain copy
html
head
/head
bodyform action="{{site_url url='train/cquery/add'}}" method="post"
table border='1'
tr
td用戶名/td
tdinput type="text" class="text" name="memberName" id="memberName"http://td
/tr
tr
td密碼/td
tdinput type="text" class="text" name="password" id="password"http://td
/tr
tr
td真實(shí)姓名/td
tdinput type="text" class="text" name="userRealName" id="userRealName"http://td
/tr
tr
td性別/td
tdinput type="text" class="text" name="sex" id="sex"http://td
/tr
tr
td出生日期/td
tdinput type="text" class="text" name="bornDay" id="bornDay"http://td
/tr
tr
tde_mail/td
tdinput type="text" class="text" name="eMail" id="eMail"http://td
/tr
tr
td密碼問(wèn)題/td
tdinput type="text" class="text" name="question" id="question"http://td
/tr
tr
td密碼答案/td
tdinput type="text" class="text" name="answer" id="answer"http://td
/tr
/table
table
tr
tdinput type="submit" class="button" name="OK" value="提交" /
/td
/tr
/table/form
/body
/html
echo "UPDATE news set title='$title',text='$neirong'where id=".$id;
把打印出來(lái)的結(jié)果在數(shù)據(jù)庫(kù)里執(zhí)行看看。
用戶輸入文本后 submit 提交
然后 $_POST接收
寫(xiě)個(gè) sql更新語(yǔ)句 讓用戶提交的數(shù)據(jù)更新數(shù)據(jù)庫(kù)
1、首先檢查數(shù)據(jù)庫(kù)連接是否正常;
2、檢查更新語(yǔ)句是否正確,如果不正確,請(qǐng)檢查語(yǔ)句中的字段名、表名等是否正確;
3、檢查更新數(shù)據(jù)是否合法,如果不合法,可能會(huì)引起數(shù)據(jù)庫(kù)更新失??;
4、如果以上檢查都沒(méi)有問(wèn)題,可以嘗試將更新語(yǔ)句拆分成多條,然后每條語(yǔ)句分別執(zhí)行,以查看哪一條語(yǔ)句出現(xiàn)了問(wèn)題。
MySQL Update Set 更新數(shù)據(jù)
UPDATE 更新
UPDATE SET 語(yǔ)法用于修改更新數(shù)據(jù)表中的數(shù)據(jù)。
語(yǔ)法:
UPDATE tb_name SET column1 = new_value1,column2 = new_value2,… WHERE definition
該語(yǔ)法將數(shù)據(jù)表中符合 WHERE 條件的記錄中的 column1 的值更新為 new_value1,column2 的值更新為 new_value2 ,以此類推。如果省略 WHERE 條件,則會(huì)將表中所有記錄的 column 值進(jìn)行更新。
例子:
?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("連接數(shù)據(jù)庫(kù)失?。? . mysql_error());
}
mysql_select_db("test", $conn);
mysql_query("set names 'gbk'");
$sql = "UPDATE user SET email = 'xiaoming@163.com' WHERE username = '小明'";
if(mysql_query($sql,$conn)){
echo "更新數(shù)據(jù)成功!";
} else {
echo "更新數(shù)據(jù)失?。?.mysql_error();
}
?
更新前數(shù)據(jù):
uid username password email regdate
1 admin b7e591c246d010bb2ccd77d52490c85e admin@5idev.com 1277992339
2 小明 a193686a53e4de85ee3f2ff0576adf01 xiao@163.com 1278063917
3 Jack 0193686a35e4de85ee3f2ff0567adf49 jack@gmail.com 1278061380
4 小王 e10adc3949ba59abbe56e057f20f883e 12345@163.com 1289632955
例子將 user 表中 username 為 小明 的 email 修改為 xiaoming@163.com 。
更新后數(shù)據(jù):
uid username password email regdate
1 admin b7e591c246d010bb2ccd77d52490c85e admin@5idev.com 1277992339
2 小明 a193686a53e4de85ee3f2ff0576adf01 xiaoming@163.com 1278063917
3 Jack 0193686a35e4de85ee3f2ff0567adf49 jack@gmail.com 1278061380
4 小王 e10adc3949ba59abbe56e057f20f883e 12345@163.com 1289632955
UPDATE 表達(dá)式
UPDATE 語(yǔ)法允許 SET 后面跟表達(dá)式。
例子 1 :
UPDATE article SET pv = pv+1 WHERE id = 123
該例子讓 id 為 123 的文章在被點(diǎn)擊閱讀的時(shí)候點(diǎn)擊量加 1 。
例子 2 :
UPDATE persondata SET age = age*2, age = age+1
該例子 SET 后面跟了兩個(gè)表達(dá)式:age = age*2(年齡加倍),age = age+1(再加 1 )。這種多個(gè)表達(dá)式的情況,是按照從左往右順序執(zhí)行的。