gpt4 book ai didi

php - 无法从 php 脚本访问表数据

转载 作者:行者123 更新时间:2023-11-30 22:15:58 25 4
gpt4 key购买 nike

我有一个访问远程 MySQL 数据库的脚本。这个数据库有多个表,有超过 40 亿(是的,我的意思是十亿)条记录。

今天我创建了一个包含大约 630 万条记录的新表。当我通过 Sequel Pro 访问数据库,更具体地说是新表时,我能够毫无问题地执行查询并从数据库中的任何表中获取数据,这包括访问我刚刚创建的新表。

问题是:当我通过 PHP 使用相同的用户凭据访问相同的数据库时,我无法访问我刚刚创建的新表。我能够访问数据库中所有其他表中的数据,但不能访问我创建的新表。

这是我尝试过的:
我首先尝试通过 PDO 进行连接和查询。当这不起作用时,我尝试使用 mysqli 进行连接和查询。这些方法都不起作用。为了确保我的脚本中没有遗漏任何内容,我创建了下面的脚本,它获取数据库中每个表的列表,然后访问每个表,抓取 2 条记录,并将它们输出到屏幕:

 try {
$db = new PDO('mysql:host=IP_ADDRESS;port=PORT_NUMBER;dbname=DB_NAME', 'DB_USER', 'DB_PASSWORD', [
PDO::ATTR_PERSISTENT => true
]);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}

$query = $db->query('SHOW TABLES');
$results = $query->fetchAll(PDO::FETCH_COLUMN);

foreach ($results as $r) {
echo '<br><br>' . $r . '<br>';
$res = $db->query("SELECT * FROM `" . $r . "` LIMIT 2");

foreach ($res as $row) {
echo '<br>';
print_r($row);
}
}

此脚本能够从除新表之外的每个表中检索记录。

更多信息:
- 这是远程托管的 Windows 10 计算机上的 MySQL 数据库。
- 用户可以完全访问数据库中的所有表。
- 我使用默认的数据库选项创建了表:编码:utf8,排序规则:utf8_general_ci,表类型:InnoDB
- 该表是使用 INSERT INTO TABLE_NAME 从 Sequel Pro 创建的选择 ..... 语句。
- 我正在使用 MAMP Pro 通过 Macbook Pro 访问数据库,但我并没有真正更改任何默认的 PHP 设置。

最佳答案

所以,如果这对其他人有帮助,我会感到很惊讶。但是解决我的问题的是在表中添加另一个字段。我是通过 Sequel Pro 的“结构”界面完成的。由于我的表有 640 万条记录,因此添加字段需要一些时间,但一旦完成,我就可以通过 PHP 访问该表,没有任何问题。

关于php - 无法从 php 脚本访问表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38272552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com