Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中字符串到浮点的转换_Php_Mysql - Fatal编程技术网

php中字符串到浮点的转换

php中字符串到浮点的转换,php,mysql,Php,Mysql,我正在尝试将数据从字符串转换为float,并将其插入MYSQL数据库$数据变量是一个字符串。以下是我的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,

我正在尝试将数据从字符串转换为float,并将其插入MYSQL数据库$数据变量是一个字符串。以下是我的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] . "')";
$sql=“如果不存在,则创建表$TABLE(
id INT(6)无符号自动递增主键,
股票代码VARCHAR(8)不为空,
上次价格浮动不为空,
开放浮点不为空,
关闭浮点不为空,
低浮点数不为空,
高浮点非空
)";
$rows=$table->getElementsByTagName(“tr”);
$i=0;
foreach($行作为$行){
如果($i++<1){
继续;
}
$a=数组();
$cells=$row->getElementsByTagName('td');
$i=0;
foreach($cells作为$cell){
如果($i++<1){
继续;
}
数组_push($a,floatval($cell->nodeValue));
}
印刷费($a);
var_dump($a);
回声“
”; $sql=“插入$table(股票代码、最新价格、开盘、收盘、低位、高位) 值(“$data[0]”、“$data[1]”、“$data[4]”、“$data[7]”、“$data[5]”、“$data[6]”);

但它仍然给了我错误:PHP可捕获致命错误:在第79行的/var/www/html/mysqlcon.PHP中,domeElement类的对象无法转换为字符串

$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])."')";

即使是一个数字也应该在两个引号之间

向我们显示数据数组我猜您必须使用类似于
floatval($data[n]->nodeValue)的东西<代码> >,但是如果您编辑了<代码> ValyDoPp <代码> > $>数据>代码>我们可以更好地帮助您。考虑使用PDO和绑定令牌,而不是仅将变量嵌入到您的MySQL语句中。请参阅我尝试使用但不可用。VARXDUMP输出到浮点,但当我尝试将其插入到MySQL时,它创建了错误@ Fux3KPOS。更多相关代码(你的
$data
构造)为什么?顺便说一句,这不是问题所在。错误不是关于MySQL查询,而是关于转换值。