這個密碼的的問題是:你的$str="1234abc56"最初的時候1是被替換成7了,但是在后面的檢查候總,你的7又被替換成3了。因為你的$s,$r的關系
創(chuàng)新互聯(lián)主打移動網(wǎng)站、網(wǎng)站建設、網(wǎng)站設計、網(wǎng)站改版、網(wǎng)絡推廣、網(wǎng)站維護、主機域名、等互聯(lián)網(wǎng)信息服務,為各行業(yè)提供服務。在技術實力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務,根據(jù)網(wǎng)站的內容與功能再決定采用什么樣的設計。最后,要實現(xiàn)符合網(wǎng)站需求的內容、功能與設計,我們還會規(guī)劃穩(wěn)定安全的技術方案做保障。
這是我修改后的,比較復雜點,但是可以用。
我的思想是:將輸入字符串分離,一個一個進行查詢替換。
?php
function n2n($input) {
$s=array('1','2','3','4','5','6','7','8','9','0');
$r=array("7","8","9","0","1","2","3","4","5","6");
$length=strlen($input);
for($i=0;$i$length;$i++){
for($j=0;$j10;$j++)
if($s[$j]==$input[$i]){
$input[$i]= str_replace($s[$j], $r[$j], $input[$i]);
break;
}
}
return $input;
}
$str="1234abc56";
echo n2n($str);
?
單獨使用,使用where匹配字段
set后面,更新字段值,既可以一次一項,也可以一次多項
例如1,
Update table_name Set column_name = new_value Where column_name = some_value
例:
“Person”表中的原始數(shù)據(jù):
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67
Update
用途:更新表中原有數(shù)據(jù)
單獨使用,使用where匹配字段
set后面,更新字段值,既可以一次一項,也可以一次多項
例如1,
Update table_name Set column_name = new_value Where column_name = some_value
例:
“Person”表中的原始數(shù)據(jù):
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67
運行下面的SQL將Person表中LastName字段為”Rasmussen”的FirstName更新為”Nina”:
UPDATE Person SET FirstName = 'Nina' WHERE LastName = 'Rasmussen'
更新后”Person”表中的數(shù)據(jù)為:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Storgt 67
同樣的,用UPDATE語句也可以同時更新多個字段:
例如2,
UPDATE Person SET Address = 'Stien 12', City = 'Stavanger' WHERE LastName = 'Rasmussen'
更新后”Person”表中的數(shù)據(jù)為:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Stien 12 Stavanger
$str='admin=管理員system=系統(tǒng)user=用戶vip=會員you=你me=我';??//用于替換的字符串
parse_str($str,$arr);?
$arr=array_flip($arr);?
$con=mysqli_connect('localhost','root','root','test');???//用戶名,密碼,數(shù)據(jù)庫名自己修改
$a=mysqli_query($con,'select?*?from?a');?????????????????//表名也請自己修改,表是按照您的要求設計的
$html="table?border='1'?width='500'trtdID/tdtd?align='center'list/td/tr";
while($rel=mysqli_fetch_assoc($a)){
$item=explode(',',$rel['list']);
$item=array_filter($item);
$html=$html."tr";
$html=$html."td{$rel['ID']}/td";
foreach($item?as?$k=$v){
$b=array_search($v,$arr);
$str=$v;
$c=str_replace($str,$b,$str);
if($c=='')?$c='窗口';
$html=$html."tdinput?type='checkbox'?value='{$str}'?/{$c}/td";
}
$html."/tr";
}
$html.="/table";
echo?$html;
首先第一步需要連接上數(shù)據(jù)庫,然后找到需要更新的數(shù)據(jù),最后把數(shù)據(jù)獲取到,使用更新語句更新數(shù)據(jù),切記一定要帶條件,否則將是更新整張表的數(shù)據(jù)。
舉例如下:
創(chuàng)建userinfo_update.php頁面用于查詢用戶信息,先顯示信息,在修改:
先通過GET獲取用戶編號查詢用戶信息:
$sql = "select * from user_info where user_id='".$_GET['userId']."'";
$result = mysql_query($sql,$con);
if($row = mysql_fetch_array($result)){
}
頁面效果:
創(chuàng)建update.php文件,用于修改用戶信息:
使用到了mysql_affected_rows() 函數(shù)返回前一次 MySQL 操作所影響的記錄行數(shù)。
//通過post獲取頁面提交數(shù)據(jù)信息
$userId = $_POST[userId];
$userName = $_POST[userName];
$userAge = $_POST[userAge];
$sql = "update user_info set user_name='".$userName."',user_age=".$userAge." where user_id='".$userId."'";
mysql_query($sql,$conn);//執(zhí)行SQL
$mark? = mysql_affected_rows();//返回影響行數(shù)
$url = "userinf_select.php";
運行結果
創(chuàng)建delete.php文件,完成刪除用戶信息功能:
$userId = $_GET['userId'];
include 'connection.php';
$sql = "delete from user_info where user_id='".$userId."'";
mysql_query($sql,$con);
$mark? = mysql_affected_rows();//返回影響行數(shù)
if($mark0){
echo "刪除成功";
}else{
echo? "刪除失敗";
}
mysql_close($con);
運行結果: