php定时执行sql语句,PHP执行SQL命令

首先,在bookstore数据库中创建一张books数据表CREATE TABLE books(

id INT NOT NULL AUTO_INCREMENT,

bookname VARCHAR(80) NOT NULL DEFAULT '',

publisher VARCHAR(60) NOT NULL DEFAULT '',

author VARCHAR(20) NOT NULL DEFAULT '',

price DOUBLE(5,2) NOT NULL DEFAULT 0.00,

ptime INT NOT NULL DEFAULT 0,

pic CHAR(24) NOT NULL DEFAULT '',

detail TEXT,

PRIMARY KEY(id));

));

f84deb567ea794701ea3962d4815ee6e.png

在PHP中,只要把SQL命令作为一个字符串传递给mysql_query()函数,就会将其发送到MYSQL服务器并执行

mysql_query()

mysql_query()函数用于发送一条 MySQL 查询。mysql_query() 仅对 SELECT,SHOW,DESCRIBE, EXPLAIN 和其他语句返回一个resource,如果查询出现错误则返回 FALSE;对于其它类型的 SQL 语句,比如INSERT, UPDATE, DELETE, DROP 之类, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSEresource mysql_query ( string $query [, resource $link_identifier = NULL ] )

将要插入的3条INSERT语句声明为一个字符串$insert = "insert into books(bookname, publisher, author, price, detail) values

('PHP','电子工业出版社','张三','80.00','PHP相关'),

('ASP','电子工业出版社','李四','90.00','ASP相关'),

('JSP','电子工业出版社','王五','70.00','JSP相关')";

使用mysql_query()函数发送INSERT语句,如果成功返回true,失败则返回false$result = mysql_query($insert);

var_dump($result);

ed3c971c0d047bdce125a722e1abc2d7.png

mysql_affected_rows()

mysql_affected_rows()函数用于取得前一次 MySQL 操作所影响的记录行数。执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1

int mysql_affected_rows ([ resource $link_identifier = NULL ] )

var_dump(mysql_affected_rows());//int3

通常通过判断mysql_affected_rows()函数的值是否大于0来确定数据操作是否成功

mysql_insert_id()

mysql_insert_id()函数用来取得上一步 INSERT 操作产生的 ID

int mysql_insert_id ([ resource $link_identifier ] )<?php

$insert = "insert into books(bookname, publisher, author, price, detail) values

('PHP','电子工业出版社','张三','80.00','PHP相关'),

('ASP','电子工业出版社','李四','90.00','ASP相关'),

('JSP','电子工业出版社','王五','70.00','JSP相关')";

$result = mysql_query($insert);

if($result && mysql_affected_rows() > 0){

//刷新页面两次后,相当于插入了两次数据。页面显示数据记录插入成功,最后一条插入的数据记录id为:4

echo "数据记录插入成功,最后一条插入的数据记录id为:".mysql_insert_id()."
";

}else{

//若在数据表删除后,则显示数据记录插入失败,错误号:1146,错误原因:La table 'bookstore.books' n'existe pas

echo "数据记录插入失败,错误号:".mysql_errno().",错误原因:".mysql_error()."
";

}

?>

实际上,最后一个id应该为6,但是由于4、5、6三条语句是同时插入的,这时显示的是第一个id为4

180d00d95cee0a72754ffa4802272bf1.png

下面,将id为4的记录的作者修改为小白$result = mysql_query("UPDATE books SET author='小白' WHERE id='4'");

if($result && mysql_affected_rows() > 0){

echo "数据记录修改成功
";

}else{

echo "数据记录修改失败,错误号:".mysql_errno().",错误原因:".mysql_error()."
";

}

92d4a6a2cf43dc6d307109f90fcea5ad.png

下面,删除作者为李四的记录$result = mysql_query("DELETE FROM books WHERE author='李四'");

if($result && mysql_affected_rows() > 0){

echo "数据记录删除成功
";

}else{

echo "数据记录删除失败,错误号:".mysql_errno().",错误原因:".mysql_error()."
";

}

fe88ee839d8d115c79605fe94c15dcd5.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值