我有一个从大型数据库中提取的结果集:
$result = mysql_query($sql);
Run Code Online (Sandbox Code Playgroud)
我遍历此记录集一次以提取特定的数据位并获得平均值while($row = mysql_fetch_array($result)).在页面的后面,我想再次遍历这个相同的记录集并输出所有内容 - 但是因为我之前使用过记录集,所以我的第二个循环没有返回任何内容.
我最后通过循环遍历第二个相同的记录集($result2 = mysql_query($sql);)来解决这个问题,但我讨厌两次进行相同的SQL调用.我可以多次循环遍历同一数据集吗?
我在mysql中创建了这个
CREATE VIEW MYVIEW AS (
SELECT A.FNAME
, A.LNAME
, B.EMAIL
FROM EMPLOYEE A, EMPEMAIL B
WHERE A.EID = :empId
AND A.EID = B.EID
AND B.EMAILTYP = :emailType)
Run Code Online (Sandbox Code Playgroud)
现在我想让"empId"和"emailType"动态化.我的意思是在选择时传递值.什么需要改变代码?提前
这是表结构:
+----+-----------------------------+-----------+
| id | post_content | edited_id |
+----+-----------------------------+-----------+
| 1 | content 1 | NULL |
| 2 | content 2 | NULL |
| 3 | content 1 (edited) | 1 |
| 4 | content 3 | NULL |
| 5 | content 4 | NULL |
| 6 | content 4 (edited) | 5 |
| 7 | content 1 (edited) | 1 |
+----+-----------------------------+-----------+
Run Code Online (Sandbox Code Playgroud)
现在我想选择每篇文章的最新编辑版本.所以这是预期的结果:
+----+-----------------------------+-----------+
| id | post_content | edited_id |
+----+-----------------------------+-----------+ …Run Code Online (Sandbox Code Playgroud) 我想知道在网站的每个页面的每次调用中,在两个数据库之间切换的速度有多慢.该站点为不同的客户端提供了许多不同的数据库,以及用于某些常规设置的"全局"数据库.我想知道如果每个脚本必须连接到数据库,选择数据库,执行查询或2,切换到另一个数据库然后完成页面生成,是否会为执行每个脚本添加更多时间.我也可以在每个数据库中重复数据,我只需要保留它(只会在升级时更改).
那么,到底有多快mysql_select_db()?
编辑:是的,我可以单独连接到每个数据库,但由于这通常是任何PHP脚本中最慢的部分,我想避免这种情况,特别是因为它在每个页面上.(它很慢,因为PHP必须做某种地址解析(无论是IP还是主机名),然后MySQL必须两次检查登录参数.)
我正在使用phpMyAdmin + MySQL.
我创建了一个数据库,现在正在尝试在PHP脚本中建立连接.奇怪的是连接到数据库工作,所以我得到"连接到MySQL服务器"的消息,但是当我选择'petfood'数据库时,脚本显示"DIED at selection".
知道为什么吗?谢谢,这是我的代码:
<?php
$user = 'localhost';
$pass = 'password';
$db_name = 'petfood';
$db_conn = new mysqli("localhost", $user, $pass, $db_name) or die("Cannot connect to DB");
echo "Connected to MySQL server";
mysql_select_db($db_name) or die("DIED at selection");
echo "Database Selected";
?>
Run Code Online (Sandbox Code Playgroud) 我创建了一个名为'class.admin.php'的类来进行一些检查.我有一个文件调用该类,它可以正常工作,尝试选择数据库.
当我运行时,mysql_select_db() or die我得到错误'没有选择数据库'.
class.admin.php
class admin {
### Function that check for the connect file (if it exists)
public function checkConnector() {
if(file_exists(CONN)) { return true; } else { return false; }
}
### Check connection to MYSQL
public function checkConnection() {
global $cn; if(mysql_connect()) { return true; } else { return false; }
}
### Check connection to database
public function checkDB() {
global $db; if(mysql_select_db()) { return true; } else { return false; }
} …Run Code Online (Sandbox Code Playgroud)