PHP、MySQL和临时表

4

Php 新手。

1. 这段 PHP & MySQL 代码有什么问题吗?

include_once "db_login.php" ;

$sql = "DROP TEMPORARY TABLE IF EXISTS temp_sap_id_select" ;
mysql_query ( $sql ) or ( "Error " . mysql_error () ) ;

$sql = " CREATE TEMPORARY TABLE temp_sap_id_select 
               (
                 `current_page` INT NOT NULL,
                 `total_pages` INT NOT NULL,
                 `select_date` DATE NOT NULL,
                 `select_schcode` CHAR(6) NOT NULL,
                 `select_user` CHAR(30) NOT NULL,
                 `select_id` CHAR(9) NOT NULL
               ) " ;
mysql_query ( $sql ) or ( "Error " . mysql_error () ) ;

2. 不可否认,我是一个迟钝的人,但还是要问一下:如果我正在使用MySQL GUI并打开了目标数据库,那么它会意识到PHP/MySQL创建的上述临时表吗(如果临时表被正确创建)?


执行脚本时是否出现任何错误消息?如果有,是什么? - OM The Eternity
1
永远不要问“有什么问题吗”,而只问“如何知道是否有问题”。不幸的是,SO用户的头脑中没有PHP解释器,无法直接运行您的代码。另一方面,如果您让PHP自己运行,它总会告诉您是否有任何问题。 - Your Common Sense
抱歉,不,我没有收到错误信息,所以我想这应该是没问题的。 - dave
你的 .ini 文件中是否开启了 error_logging? - OM The Eternity
我仅仅通过提问就能获取积分吗?我的声望从116上升到了118。 - dave
1个回答

10

临时表只对创建它们的连接可见,一旦连接关闭,它们就会消失。


1
好的,知道了。所以,即使两个连接(PHP 和 GUI)分别仍然打开并且使用相同的数据库登录详细信息,我的 MySQL GUI 也不会看到这个临时表。 - dave
1
那么使用连接池可能会有危险吗? - Mohsen
@Mohsen,我认为连接池意味着您有一定数量的连接,例如10个,您将使用这些连接,这种模式类似于单例模式,仅管理N个连接。如果临时表是由连接持久化的,则它不会消失,而是会与N个打开的连接之一保持连接(这只是我的猜测)。 - Mehdi Karamosly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接