- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否有人可以验证我的代码,在 Linux 服务器上运行这段代码时,我似乎遇到了一些问题。
如果我运行此本地主机(Xammp),它会顺利运行,不会出现任何错误,也不会超时。
脚本创建数据库并从 TXT 或 CSV 填充。
当我将脚本移动到网络服务器上运行时我最终遇到以下错误:
Error creating table: Table 'Sales' already exists
Error: LOAD DATA INFILE 'Salest.CSV' REPLACE INTO TABLE `Sales` FIELDS TERMINATED BY ',' IGNORE 1 LINES
Access denied for user 'USERNAME'@'%' (using password: YES)
我的访问被拒绝?但如果我删除该表:并重新运行代码:
Table Sales created successfully
Error: LOAD DATA INFILE 'Salest.CSV' REPLACE INTO TABLE `Sales` FIELDS TERMINATED BY ',' IGNORE 1 LINES
Access denied for user 'USERNAME'@'%' (using password: YES)
当然,用户名和密码是正确的,因为它已在数据库中创建了表,为什么我在填充它时遇到问题?
我错过了什么?
<?php
ini_set("memory_limit",-1); // Unlimited Memory handle this properly just quick internal testing
// Lets start by connecting to the Database
$databasehost = "localhost"; // Connection Local? Remote?
$databasename = "DBNAME"; // Database Name
$databasetable = "DBTABLE"; // Database Table
$databaseusername ="USERNAME"; // Database Username
$databasepassword = ""; // Database Password
$filename = "Sales.txt"; // File we will import (This will be picked up from FTP
$fieldseparator = "\t"; // Field Deliminator / separator
$lineseparator = "\n"; // New Line Deliminator / separator
/********************************/
$addauto = 0; // add an empty field at the beginning of these records 1 = yes / 0 = no
/********************************/
/********************************/
$save = 0; // Convert the file to a SQL file 0 = Import to MYSQL or 1 = Save to SQL File
$outputfile = "output.sql"; // The name of the SQL file you are going to save
/********************************/
// As the above is configurable, we should use a config file for the above, and use the code beloew in static file
// below code can be one one file, and we can use a FTP Collect routine and call this after.
if (!file_exists($filename)) { // Does the file exist?
echo "File not found. Make sure you specified the correct path.\n"; // Print message if it does not
exit; // Exit out of it
}
$file = fopen($filename,"r"); // open the CSV or TXT file (Test if this works on TXT may need re-formatting)
if (!$file) { // statement if problem opening file
echo "Error opening data file.\n"; // Print the error message
exit; // exit out
} // end of statement
$size = filesize($filename); //check file exists but has a valid size (not 0kb)
if (!$size) { // If the size is 0kb i.e. not valid then error
echo "File is empty.\n"; // rpint the error message
exit; // exit out
} // end of statement
$filecontent = fread($file,$size); //Declare varable CSV file - Read in the file and size
fclose($file); // close the file
// Now lets connect to the database and select the database we will work from
$conn = new mysqli($databasehost, $databaseusername, $databasepassword, $databasename);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Now we are connected to the Database, Lets create the table we will start to import data too.
// List of colums we will be using in the Sales Table:
//uniquekey, type, itemno, styleno, styledesc, variatdesc, date, hour, day, month, year, locn, dept2, dept1, dept0, depta, season, reason, supplier, brand, fullprice, soldat, cost, margin, qty, cashier, custkey, stockkey
$sqlcreate = "CREATE TABLE $databasetable (
uniquekey Int(11) PRIMARY KEY,
type VARCHAR(20) NULL,
itemno Int(11) NULL,
styleno Int(11) NULL,
styledesc VARCHAR(40) NULL,
variatdesc VARCHAR(20) NULL,
date DATE,
hour Int(11) NULL,
day Int(11) NULL,
month Int(11) NULL,
year Int(11) NULL,
locn VARCHAR(20) NULL,
dept2 VARCHAR(20) NULL,
dept1 VARCHAR(20) NULL,
dept0 VARCHAR(20) NULL,
depta VARCHAR(20) NULL,
season VARCHAR(20) NULL,
reason VARCHAR(20) NULL,
supplier VARCHAR(20) NULL,
brand VARCHAR(20) NULL,
fullprice FLOAT(9,3) NULL,
soldat FLOAT(9,3) NULL,
cost FLOAT(9,3) NULL,
margin FLOAT(9,3) NULL,
qty Int(11) NULL,
cashier VARCHAR(40) NULL,
custkey Int(11) NULL,
stockkey VARCHAR(40) NULL
)";
if ($conn->query($sqlcreate) === TRUE) {
echo "Table <b>" . $databasetable ."</b> created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
// exit ; // Exit was used to end the script early, Write the code, and test the code in 2 sections.
// Now the table is created, How about grabbing a text file for an example and seeing if we can put it into the SQL
// So Another SQL Query Instead of using INTO Table ****(Tablename)**** We will use REPLACE INTO TABLE
// So if the same data is re-sent up, it will replace its original, Need to check this method does not have issues
// down the line with Indexs, If so, then the replace statement could be met with When log_time is > than original
$sqlimport = "
LOAD DATA INFILE '$filename'
REPLACE INTO TABLE `$databasetable`
FIELDS TERMINATED BY '$fieldseparator'
IGNORE 1 LINES
" ;
if ($conn->query($sqlimport) === TRUE) {
echo "<br>Data Imported from " .$filename." OK!";
} else {
echo "<br>Error: " . $sqlimport . "<br>" . $conn->error;
}
?>
最佳答案
经过多次尝试和错误,我终于解决了这个问题。
$sqlimport = "
LOAD DATA INFILE '$filename'
替换为:
$sqlimport = "
LOAD DATA LOCAL INFILE '$filename'
给我一个新错误,本地命令不允许使用 MySQL 版本。SQL 语句:SHOW VARIABLES LIKE 'local_infile'给我结果:local_infile OFF
宾果!!!更改为“开”,然后重新启动,脚本按预期工作。
感谢您的帮助和建议。
关于PHP - 用于将 TXT/CSV 导入 SQL 的加载文件在服务器上不起作用,但在本地起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30668158/
这是一个复杂的查询,我希望用一条语句实现它,而不是必须在 PHP 中处理数组值。 要达到预期的输出: User Jobs Total John D. 5 $1245.67 Ma
SELECT B. * , SC.cate_name, ( CASE WHEN special_offer_type = 'Fixed Value' THEN B.price - special_o
关于将 booksleeve 与 protobuf-net 结合使用,我有一些相当基本的问题。现在我已经实现了一个单例类来管理连接,所以我多次重复使用与 recommended 相同的连接。 .现在我
我想要一个客户端加/减系统,用户可以单击加号,值会增加 1,减号,值会减少 1,该值永远不应该低于零,并且应该从 0 开始.有没有办法在 jquery 中简单地做到这一点?所有 jquery 插件都会
我正在使用加号和减号按钮更新我的产品数量,这很有效,但我的问题是因为我在一个容器中有多个产品,它正在更新所有产品的数量。这是代码:
我需要在大小相等的小整数数组上做大量简单的代数运算。这些操作仅包括三种:(i) 添加数组和 (ii) 按元素减去数组,以及 (iii) 比较一个数组中的所有元素是否不小于/大于另一个数组中的对应元素。
我对 javascript 很陌生,但我需要一种 JS 方式来在单击按钮时增加/减少输入字段中的值。我已成功将值设置为显示 0,但当我单击“添加”按钮时,它不会增加。 以下是 html 和 JS 代码
我可以在输入字段中添加/减去一个数字。 但是,我希望结果显示在中而不是在input中字段。 我尝试使用innerHTML自己完成它但无法让它发挥作用。 $(function() { $('.min
我的页面上有一个加号/减号 jquery 选择器。当页面加载或数字达到 1 时,我希望减号按钮变灰以模拟非事件状态。这是我的代码和 fiddle https://jsfiddle.net/pgxvhs
我如何加/减用户输入的十六进制数? 喜欢: basehex = input() sechex = input() sum = hex(basehex - sechex) print(sum) 我得到:
本文实例讲述了python简单实现矩阵的乘,加,转置和逆运算。分享给大家供大家参考,具体如下: 使用python完成矩阵的乘,加,转置和逆: ?
我输入的一些文本包括几个上下箭头(↑ 和 ↓),以及一个加号/减号 (±)。 这些特殊字符以 HTML ASCII 输入:↑ ↓ ±。在 POST 上,HTML 在保存到 MySQL 表之前使用 ht
我正在尝试配置 Live Gamer Portable 2 Plus 的输出引脚以降低帧速率。通过 GraphStudioNext,我可以通过捕获引脚访问配置并更改帧速率。 但是,当我通过 API 在
我正在尝试使用批处理文件创建任意时间。我试图从我的代码中减去设置值(例如1天,1个月和2000年),以显示系统时间减去前面所述的设置值。对于小时和分钟,我要减去10小时和10分钟(在代码中显示为不同的
我想建立一个 5 位向上/向下计数器。当我能让模拟工作时,我会更乐意购买零碎的东西来构建它。到目前为止,我使用的是 ATmega8,但坦率地说,只要组件相当便宜,任何解决方案都适合我。 我在网上找到了
使用 ng-repeat 时在数字输入字段上添加加/减切换的最佳方法是什么 我这样试过,但没用: - + vm.plus = f
我正在尝试弄清楚如何将 UNION 与相同的 JOIN 一起使用,而不是陷入 #2014 - 命令不同步。 我创建了四个简单的表格并为它们编写了简化的代码。主要想法是获得名字中带有“最佳”字样的每把剑
这个问题已经有答案了: Is floating point math broken? (33 个回答) 已关闭 9 年前。 我有一个简单的函数,应该生成 1000 个不同的元素: var start
我目前正在编写一个响应式设计,我正处于移动导航折叠的地步。 为此,我创建了两个 div 和一个 ul。 ul 包含我的 nav 元素,而 div 将显示移动设备和平板电脑下拉菜单的导航图像。 HTML
我为 woocommerce 单个产品页面创建了一个加/减数量按钮。创建了一个新的数量-input.php " min="" max="" name="" value="" ti
我是一名优秀的程序员,十分优秀!