重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个说起来长篇,你所问的$updateSQL = $db-GetUpdateSQL其实并不是属于php自己的东西,而是用户自定义的类,至于类是什么去看看基础的php语言基础.
创新互联建站是一家专业提供石棉企业网站建设,专注与做网站、网站建设、HTML5、小程序制作等业务。10年已为石棉众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
所以你要知道GetUpdateSQL返回的究竟是什么东西,他是怎么工作的,就要找到类的本身代码所在文件,去看看他里面究竟是什么东西.
而php修改数据库里的东西其实是没有专用语句的.如果硬要问怎么实现的话,就是那个$db-Execute($updateSQL);
所以建议你把$updateSQL print(或echo)出屏幕看看里面是什么就明白了.
其实是个SQL的操作语句,指示SQL如何存储数据,而$db-Execute只让php把这个命令传给SQL
举例如下:
创建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)){
}
页面效果:
创建update.php文件,用于修改用户信息:
使用到了mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。
//通过post获取页面提交数据信息
$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);//执行SQL
$mark = mysql_affected_rows();//返回影响行数
$url = "userinf_select.php";
运行结果
创建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();//返回影响行数
if($mark0){
echo "删除成功";
}else{
echo "删除失败";
}
mysql_close($con);
运行结果:
我建议一下吧,文本数据库的例子本来太多,但是为了逻辑简化,最好通过专门接口实现文件与数据的转换,可以采用我下面的模板编写:
?php
//文件最前面定义两个全局变量,数据库文件名和用户数组
$pwd_db_file='db.txt';
$UserPassword=array();
//下面的pwd_db_read函数,把文件内容读入到全局数组中
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函数保存数组内容到文件中
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);
}
//有了上面的全局变量和函数,要写什么功能都简单
//下面假释本脚本调用的时候通过reg.php?job=adduser=...pass=...
//的格式进行调用,job为add表示添加用户,del表示删除,modi表示修改
//另外的user和pass表示用户名或者密码,job不是以上内容表示登录
//主程序一开始就打开数据库
pwd_db_read();
//下面判断功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用户 $user 已经存在!"
else $UserPassword[$user]=$pass;//就一句话,简单吧
}elseif (job=='del'){
unset($UserPassword[$user]);//你自己考虑编写是否确认删除的内容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass;//和添加是不是有点类似
else echo "用户 $user 不存在!"
}else{
if ($UserPassword[$user]==$pass){
echo '密码正确。';
//接下来可能要做许多事情
}else echo '密码错误!';
}
//程序最后保存数据库修改
pwd_db_write();
?
看得懂吗,没有上机调试,语法问题可能难免,如果发现不明白的问题请补充。
PHP 中的 file_get_contents() 与 file_put_contents() 函数可以实现
file_get_contents() 函数把整个文件读入一个字符串中。
file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。
file_get_contents(path,include_path,context,start,max_length)
参数说明
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。
context 是一套可以修改流的行为的选项。若使用 null,则忽略。
start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
max_length 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。
对 context 参数的支持是 PHP 5.0.0 添加的。
注释:本函数可安全用于二进制对象。
file_put_contents() 函数把一个字符串写入文件中。
file_put_contents(file,data,mode,context)
参数说明
file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data 可选。规定要写入文件的数据。可以是字符串、数组或数据流。
注释:本函数可安全用于二进制对象。
例如:
需要修改的php文件 index.php (前提条件此文件需要有写入的权限)
?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')){//数据库地址、用户、密码
$sql="update
db.tab
set
f='v'
where
id='123'";//SQL你自己会写的
if
(mysql_query($sql))
echo
"SQL执行成功!";
else
echo
"SQL($sql)执行失败!原因:".mysql_error();
}else
echo
'连接数据库失败,原因:'.mysql_error();
?