我正在尝试将数据从字符串转换为浮点数并将其插入 MYSQL 数据库。 $data变量是一个字符串。这是我的SQL查询:
$sql = "CREATE TABLE IF NOT EXISTS $table (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
stockcode VARCHAR(8) NOT NULL,
lastprice FLOAT NOT NULL,
open FLOAT NOT NULL,
close FLOAT NOT NULL,
low FLOAT NOT NULL,
high FLOAT NOT NULL
)";
$rows = $table->getElementsByTagName("tr");
$i = 0;
foreach ($rows as $row) {
if ($i++ < 1) {
continue;
}
$a = array();
$cells = $row->getElementsByTagName('td');
$i = 0;
foreach ($cells as $cell) {
if ($i++ < 1) {
continue;
}
array_push($a, floatval($cell->nodeValue));
}
print_r($a);
var_dump($a);
echo "<hr/>";
$sql = "INSERT INTO $table (stockcode, lastprice, open, close, low, high)
VALUES ( '" . $data[0] . "', '" . $data[1] . "', '" . $data[4] . "', '" . $data[7] . "', '" . $data[5] . "', '" . $data[6] . "')";
但它仍然给我错误:PHP 可捕获的致命错误:类 DOMElement 的对象无法转换为第 79 行/var/www/html/mysqlcon.php 中的字符串
您需要
将浮点数放在两个引号之间
$sql = "INSERT INTO $table(stockcode, lastprice, open, close, low, high)
VALUES ( '".$data[0]."', '".floatval($data[1])."', '".floatval($data[4])."', '".floatval($data[7])."', '".floatval($data[5])."', '".floatval($data[6])."')";
即使是一个数字也应该在两个引号之间