重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
這個說起來長篇,你所問的$updateSQL = $db-GetUpdateSQL其實并不是屬于php自己的東西,而是用戶自定義的類,至于類是什么去看看基礎(chǔ)的php語言基礎(chǔ).
創(chuàng)新互聯(lián)建站是一家專業(yè)提供石棉企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為石棉眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
所以你要知道GetUpdateSQL返回的究竟是什么東西,他是怎么工作的,就要找到類的本身代碼所在文件,去看看他里面究竟是什么東西.
而php修改數(shù)據(jù)庫里的東西其實是沒有專用語句的.如果硬要問怎么實現(xiàn)的話,就是那個$db-Execute($updateSQL);
所以建議你把$updateSQL print(或echo)出屏幕看看里面是什么就明白了.
其實是個SQL的操作語句,指示SQL如何存儲數(shù)據(jù),而$db-Execute只讓php把這個命令傳給SQL
舉例如下:
創(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";
運行結(jié)果
創(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);
運行結(jié)果:
我建議一下吧,文本數(shù)據(jù)庫的例子本來太多,但是為了邏輯簡化,最好通過專門接口實現(xiàn)文件與數(shù)據(jù)的轉(zhuǎn)換,可以采用我下面的模板編寫:
?php
//文件最前面定義兩個全局變量,數(shù)據(jù)庫文件名和用戶數(shù)組
$pwd_db_file='db.txt';
$UserPassword=array();
//下面的pwd_db_read函數(shù),把文件內(nèi)容讀入到全局數(shù)組中
function pwd_db_read(){
global $pwd_db_file, $UserPassword;
$fp=fopen($pwd_db_file,'r');
while ($s=fgets($fp)){
list($usr,$pwd)=explode('|', $s);
$UserPassword[$usr]=$pwd;
}
fclose($fp);
}
//下面的pwd_db_write函數(shù)保存數(shù)組內(nèi)容到文件中
function pwd_db_write(){
global $pwd_db_file, $UserPassword;
fp=fopen($pwd_db_file, 'w');
foreach ($UserPassword as $usr=$pwd)
fputs($fp,"$usr|$pwd\n");
fclose($fp);
}
//有了上面的全局變量和函數(shù),要寫什么功能都簡單
//下面假釋本腳本調(diào)用的時候通過reg.php?job=adduser=...pass=...
//的格式進行調(diào)用,job為add表示添加用戶,del表示刪除,modi表示修改
//另外的user和pass表示用戶名或者密碼,job不是以上內(nèi)容表示登錄
//主程序一開始就打開數(shù)據(jù)庫
pwd_db_read();
//下面判斷功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用戶 $user 已經(jīng)存在!"
else $UserPassword[$user]=$pass;//就一句話,簡單吧
}elseif (job=='del'){
unset($UserPassword[$user]);//你自己考慮編寫是否確認刪除的內(nèi)容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有點類似
else echo "用戶 $user 不存在!"
}else{
if ($UserPassword[$user]==$pass){
echo '密碼正確。';
//接下來可能要做許多事情
}else echo '密碼錯誤!';
}
//程序最后保存數(shù)據(jù)庫修改
pwd_db_write();
?
看得懂嗎,沒有上機調(diào)試,語法問題可能難免,如果發(fā)現(xiàn)不明白的問題請補充。
PHP 中的 file_get_contents() 與 file_put_contents() 函數(shù)可以實現(xiàn)
file_get_contents() 函數(shù)把整個文件讀入一個字符串中。
file_get_contents() 函數(shù)是用于將文件的內(nèi)容讀入到一個字符串中的首選方法。
file_get_contents(path,include_path,context,start,max_length)
參數(shù)說明
path 必需。規(guī)定要讀取的文件。
include_path 可選。如果也想在 include_path 中搜尋文件的話,可以將該參數(shù)設(shè)為 "1"。
context 可選。規(guī)定文件句柄的環(huán)境。
context 是一套可以修改流的行為的選項。若使用 null,則忽略。
start 可選。規(guī)定在文件中開始讀取的位置。該參數(shù)是 PHP 5.1 新加的。
max_length 可選。規(guī)定讀取的字節(jié)數(shù)。該參數(shù)是 PHP 5.1 新加的。
對 context 參數(shù)的支持是 PHP 5.0.0 添加的。
注釋:本函數(shù)可安全用于二進制對象。
file_put_contents() 函數(shù)把一個字符串寫入文件中。
file_put_contents(file,data,mode,context)
參數(shù)說明
file 必需。規(guī)定要寫入數(shù)據(jù)的文件。如果文件不存在,則創(chuàng)建一個新文件。
data 可選。規(guī)定要寫入文件的數(shù)據(jù)。可以是字符串、數(shù)組或數(shù)據(jù)流。
注釋:本函數(shù)可安全用于二進制對象。
例如:
需要修改的php文件 index.php (前提條件此文件需要有寫入的權(quán)限)
?php
$str = 'abc123';
?
處理的文件 update.php
?php
$conents = file_get_contents("index.php");
$conents = str_replace('abc','efg',$conents);
file_put_contents("index.php",$conents);
?
修改后的index.php 文件
?php
$str = 'efg123';
?
一般是如下:
?php
if
(mysql_connect('127.0.0.1','root','123456')){//數(shù)據(jù)庫地址、用戶、密碼
$sql="update
db.tab
set
f='v'
where
id='123'";//SQL你自己會寫的
if
(mysql_query($sql))
echo
"SQL執(zhí)行成功!";
else
echo
"SQL($sql)執(zhí)行失敗!原因:".mysql_error();
}else
echo
'連接數(shù)據(jù)庫失敗,原因:'.mysql_error();
?