首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php脚本中运行多个Sql语句

在php脚本中运行多个Sql语句
EN

Stack Overflow用户
提问于 2014-08-12 19:20:33
回答 1查看 557关注 0票数 0

我有一系列SQL命令,这些命令会导致更新当前使用php页面显示的表。

我想在每次加载页面时运行一组sql语句,因为有一个日期字段会不时更新。有人能给我建议一下最好的方法吗?

  1. 我是否将所有语句都包含在php代码中?如果是的话,如何包含。
  2. 是否创建将日期值传递给的SQL函数?如果是,如何创建。

下面是我当前的页面代码:

代码语言:javascript
复制
$sql = 'SELECT order_item_name, product_quantity, 
               order_number, category_name
        FROM pvz8y_shopping_list';

我想包括以下几点:

代码语言:javascript
复制
DROP TABLE pvz8y_shopping_list;

CREATE TABLE pvz8y_shopping_list (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
isle_number int(11),
category_name char(180),
virtuemart_product_id int(11),
virtuemart_category_id int(11),
order_item_name char(255),
product_quantity int(11),
order_number char(64),
PRIMARY KEY (id)
);

INSERT INTO pvz8y_shopping_list (virtuemart_product_id, order_item_name, product_quantity, order_number)
SELECT virtuemart_product_id, order_item_name, product_quantity,order_number from pvz8y_virtuemart_order_items
INNER JOIN pvz8y_virtuemart_orders
ON pvz8y_virtuemart_order_items.virtuemart_order_id = pvz8y_virtuemart_orders.virtuemart_order_id
WHERE pvz8y_virtuemart_orders.created_on **>= '2014-07-19 00:00:00' AND
pvz8y_virtuemart_orders.created_on <= '2014-07-20 00:00:00';**

UPDATE pvz8y_shopping_list 
INNER JOIN pvz8y_virtuemart_product_categories ON pvz8y_shopping_list.virtuemart_product_id = pvz8y_virtuemart_product_categories.virtuemart_product_id
SET pvz8y_shopping_list.virtuemart_category_id = pvz8y_virtuemart_product_categories.virtuemart_category_id;

UPDATE pvz8y_shopping_list 
INNER JOIN pvz8y_virtuemart_categories_en_gb ON pvz8y_shopping_list.virtuemart_category_id = pvz8y_virtuemart_categories_en_gb.virtuemart_category_id
SET pvz8y_shopping_list.category_name = pvz8y_virtuemart_categories_en_gb.category_name;

如您所见,使用sql语句创建shopping_list表,目前只显示结果,但我希望不必每次在日期(粗体更改中突出显示)后端创建表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-12 19:33:32

我不知道你为什么要丢下桌子来创造这个桌子?如果您只想清除表,那么只需使用

TRUNCATE TABLE pvz8y_shopping_list

MySQL有存储过程--您可以使用它来完成您的工作,或者PHP也可以对此进行实时处理,但是必须在CRONTAB中添加脚本。

编辑

定义连接

代码语言:javascript
复制
$hostname_appscon = "localhost";
$database_appscon = "DBNAME";
$username_appscon = "DBUSER";
$password_appscon = "DBPASS";
$appscon = mysql_pconnect($hostname_appscon, $username_appscon, $password_appscon) or  trigger_error(mysql_error(),E_USER_ERROR);

现在,使用上面定义的连接进行调用,您可以根据需要调用查询。

代码语言:javascript
复制
mysql_query("SQL QUERY1", $appscon);
mysql_query("SQL QUERY2", $appscon);
mysql_query("SQL QUERY3", $appscon);

这样,您就可以调用任意多个查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25272371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档