<?php
require "connect.php";
$file = "./myFile2.txt";
$document = file_get_contents($file);
$lines = explode("\n",$document);
foreach($lines as $newline) {
$arr = explode(': ', $lines[0]);
$order = $arr[1];
/* echo $order.'<br>'; */
}
foreach($lines as $newline){
$art = explode(': ', $newline);
$total = $art[1];
echo $total.'<br>';
$sql = "USE receipts INSERT INTO receipt_content (total_price) VALUES ($total)";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
?>
当尝试将回显的信息添加到我的数据库(phpmyadmin)[MariaDB服务器]时,我收到以下错误:
12364
错误:USE收据INSERT INTO receipt_content(total_price)VALUES(12364) 您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以获得正确的语法,以便使用&#39; INSERT INTO receipt_content(total_price)VALUES(12364)&#39;在第1行
600$
错误:USE收据INSERT INTO receipt_content(total_price)VALUES(600 $) 您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以获得正确的语法,以便使用&#39; INSERT INTO receipt_content(total_price)VALUES(600 $)&#39;在第1行
我有一个名为&#39;收据&#39;使用表格&quot; receipt_content&#39;,包含列&#39; total_price&#39;和&#39; order_number&#39;。
如何修复错误,以便将已解析的数据(&#39; 12364&#39;以及&#39; 600 $&#39;)正确插入到数据库表的列中。
答案 0 :(得分:0)
正如人们在回复中提到的那样,您应该在查询之前选择数据库,而不是与查询一起。 (例如,打开连接时选择数据库)
另外,你应该使用mysqli中提供的绑定,或者更容易使用PDO。
http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers
PDO允许基于名称的绑定,并将为您执行所有转义和引用。
$stmt = $db->prepare("INSERT INTO receipt_content VALUES(:total)");
$stmt->bindParam(':total', $total);
$stmt->execute();